WO2018090528A1 - Method and system for mirror image package preparation and application operation - Google Patents
Method and system for mirror image package preparation and application operation Download PDFInfo
- Publication number
- WO2018090528A1 WO2018090528A1 PCT/CN2017/078722 CN2017078722W WO2018090528A1 WO 2018090528 A1 WO2018090528 A1 WO 2018090528A1 CN 2017078722 W CN2017078722 W CN 2017078722W WO 2018090528 A1 WO2018090528 A1 WO 2018090528A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- data
- image package
- path
- manager
- target application
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
Definitions
- the present invention relates to the field of information processing technologies, and in particular, to a method and system for fabricating an original image package, a method and system for fabricating an application boot image package, and an application operation method and system.
- the technical problem to be solved by the embodiments of the present invention is to provide an application running method, an application original image package manufacturing method, and an application startup image package manufacturing method, to solve the problem in the prior art for making a micro client. Splitting, resulting in low efficiency and high cost.
- the embodiment of the present invention further provides a corresponding system for the foregoing method, which is: an application running system, an application original image package making system, and an application startup image package making system, to ensure the above method. Implementation and application.
- the invention discloses a method for running an application, which comprises: acquiring a startup running package and a startup image package of the target application in advance when the target application is not installed, wherein the startup running package is used to start the target application.
- the boot image package includes the The startup data of the target application; when the target application is started by the startup package, establishing a local cache manager, establishing a first path of the local cache manager and the startup image package, and establishing a local cache manager and a second path of the server; locally creating a first virtual storage unit, establishing a third path of the local cache manager and the first virtual storage unit; the local cache manager receiving a request through the third path, The request is received by the first virtual storage unit from the target application; when the request is a read request, the local cache manager obtains the boot image package from the boot image package through the first path Reading the first data of the request; and/or, the local cache manager obtaining, by the second path, the first data of the read request from the original image package of the server; wherein the original image package
- an application running system which specifically includes: a data packet obtaining module, configured to acquire a startup running package and a startup image package of the target application in advance when the target application is not installed, where The startup running package is configured to start the target application, where the startup image package includes startup data of the target application, and a local cache manager establishment module, configured to establish, when the target application is started by using the startup operation package, a local cache manager, establishing a first path of the local cache manager and the boot image package, and establishing a second path of the local cache manager and the server; the first virtual storage unit establishing module, locally creating the first virtual storage a unit, establishing a third path of the local cache manager and the first virtual storage unit; a first data request receiving module, configured to invoke the local cache manager, to receive a data request through the third path, The data request is received by the first virtual storage unit from the target application; a data acquisition module is configured to be When the data request is a read request, the local cache manager is invoke
- the invention discloses a method for manufacturing an original image package, which comprises: establishing a data packet creation manager and creating an empty original image package, and establishing an eighth path of the data packet creation manager and the original image package; Creating a second virtual storage unit locally, establishing a ninth path of the second virtual storage unit and the data packet creation manager; the data packet creation manager receiving a data write request by using the ninth path, where The data write request is obtained by the second virtual storage unit from the process; the data packet creation manager writes the third data corresponding to the data write request into the original image package through the eighth path, where The third data is data included in the original data of the target application.
- an application original image package creation system which specifically includes: a data packet creation manager establishing module, configured to establish a data packet creation manager, create an empty original image package, and establish the data package.
- An eighth path of the production manager and the original image package ; a second virtual storage unit establishing module, configured to locally create a second virtual storage unit, and establish the second virtual storage unit and the data packet creation manager a ninth path; a second data request receiving module, configured to invoke the data packet creation manager to receive a data write request through the ninth path, wherein the data write request is the second virtual storage unit slave process Obtaining;
- the original image packet data writing module is configured to invoke the data packet creation manager, and write the third data corresponding to the data write request into the original image package by using an eighth path, where The third data is the data contained in the original data of the target application.
- the invention discloses a method for manufacturing an application startup image package, which comprises: establishing a local manager when starting a target application, and establishing a tenth path of the local manager and the original image package; establishing an empty startup image package, and establishing The local manager and the eleventh path of the boot image package; locally creating a third virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; the local manager passes The twelfth path receives a data request, the data request is received by the third virtual storage unit from the target application; when the request is a read request, the local manager passes the tenth path From the stated Acquiring fourth data corresponding to the read request in the original image package; and writing the fourth data into the startup image package by using the eleventh path; stopping the installation when the target application stops running The fourth data is written to the boot image package.
- an application startup image package creation system which specifically includes: a local manager establishment module, configured to establish a local manager when starting a target application, and establish a local manager and an original image package.
- Ten paths starting an image package creation module, establishing an empty boot image package, and establishing an eleventh path of the local manager and the boot image package; and a third virtual storage unit establishing module for locally creating a third a virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; a third data request receiving module, configured to invoke the local manager to receive a data request through the twelfth path
- the data request is received by the third virtual storage unit from the target application;
- the boot image packet data writing module is configured to invoke the local manager when the request is a read request, by using the The tenth path acquires fourth data corresponding to the read request from the original image package; and the fourth number is performed by the eleventh path
- the boot image is written in a packet; when the target application stops running, stopping the
- the embodiments of the invention include the following advantages:
- the data packet creation manager when the original image package is created, only the data packet creation manager, the second virtual storage unit, and the empty original image package, and the path between the three are established; that is, when the write request is obtained, Copy all the data in the original data packet of the target application to the original image package through the corresponding path; similarly, when creating the boot image package, you only need to create an empty boot image package, local manager and third.
- a virtual storage unit establishing a path between the boot image package, the original image package, the third virtual storage unit, and the local manager, and then copying the startup data of the target application from the original image package to the boot through the corresponding path
- the analysis of the runtime environment that the application depends on and the modular splitting work are eliminated, which greatly reduces the labor cost and the time cost.
- the embodiment of the present invention acquires the startup operation package and the startup image package of the target application when the user first makes the target application; and starts the application by using the startup operation package.
- the program establishes a local cache manager, and establishes a path between the local cache manager, the boot image package, and the original image package; establishes a first virtual storage unit, and its path to the local cache manager; locally caches
- the manager receives the read request, the data corresponding to the read request may be obtained from the boot image package and/or the original image package of the server through the corresponding path, and fed back to the target application to make the target
- the application runs; thus, in the case that only the startup running package and the startup image package are obtained, the data of the target application is obtained from the original image package of the startup image package and/or the server during the running of the target application, Ensure the normal operation of the target application.
- the amount of startup data of the target application included in the startup image package is much smaller than the original data amount of the target application, the time for the user to start the target application is greatly saved, and the user experience is enhanced; In the process of running, in general, all functions will not be used, and only part of the program data will be downloaded, so that the space occupied by the user's local device storage system will be greatly reduced.
- FIG. 1 is a structural block diagram of an embodiment of an application original image package creation system of the present invention
- 2A is a flow chart showing the steps of an embodiment of the application original image package creation system of the present invention.
- FIG. 2B is a structural block diagram of another embodiment of an application original image package creation system of the present invention.
- FIG. 3 is a structural block diagram of an embodiment of an application boot image package creation system of the present invention.
- 4A is a flow chart showing the steps of an embodiment of an application startup image package manufacturing method according to the present invention.
- 4B is a structural block diagram of another embodiment of an application startup image package creation system of the present invention.
- 5A is a structural block diagram of an embodiment of an application operating system of the present invention.
- 5B is a structural block diagram of another embodiment of an application operating system of the present invention.
- 6A is a flow chart showing the steps of an embodiment of an application operation method of the present invention.
- 6B is a structural block diagram of another embodiment of an application operating system of the present invention.
- FIG. 7 is a flow chart showing the steps of another embodiment of an application operation method of the present invention.
- FIG. 8 is a block diagram of a computing device for performing a mirrored package creation, application running method in accordance with the present invention.
- 9 is a storage unit for holding or carrying program code implementing the image package creation and application execution method according to the present invention.
- the embodiments of the present invention can be applied to various operating systems of a terminal, where the terminal includes a personal computer (PC) and a mobile terminal, and the operating system includes a PC-side operating system such as Windows, Linux, Unix, and virtual machine emulation.
- the system and the like also include an operating system of the mobile terminal such as Android, IOS, and the like.
- the target application in the embodiment of the present invention refers to a software installation package and a large application file, such as a 3D game, a PS, and the like; wherein the target application may be a PC-side application or a mobile terminal application.
- Application, APP Application, APP
- the method and system of the embodiment of the present invention will be described below by taking a mobile terminal as an example.
- An embodiment of the present invention provides an application running system, after acquiring a startup running package and a startup image package corresponding to a target application, when the target application is running, from the original image package in the startup image package and/or the server,
- the data required by the target application is obtained to enable the target application to run normally. Therefore, the startup image package and the original image package of the target application are required to be pre-made to ensure the normal operation of the target application. Therefore, the embodiment of the present invention further provides a
- the original image package creation method and system are used to create an original image package of the target application, and an application startup image package creation method and system for creating a startup image package of the target application.
- FIG. 1 a block diagram of an embodiment of an application original image package creation system of the present invention is shown, which may include: a data packet creation manager establishing module 101, a second virtual storage unit establishing module 102, and a second data request. a receiving module 103 and an original image packet data writing module 104, wherein
- the packet creation manager establishing module 101 is configured to establish a packet creation manager and create an empty original image package, and establish an eighth path of the data packet creation manager and the original image package.
- the second virtual storage unit establishing module 102 is configured to locally create a second virtual storage unit, and establish a ninth path of the second virtual storage unit and the data packet creation manager.
- the second data request receiving module 103 is configured to invoke the data packet creation manager to receive a data write request through the ninth path, wherein the data write request is obtained by the second virtual storage unit from a process.
- the original image package data writing module 104 is configured to invoke the data packet creation manager to write the third data corresponding to the data write request into the original image package through the eighth path, where the third The data is the data contained in the original data of the target application.
- the second virtual storage unit establishing module 102 is deployed in the mobile terminal, and the data packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 may all be deployed on the mobile terminal.
- the terminal may also be deployed on the server, where the original data packet of the target application and the target application is installed in the mobile terminal, and the target application can be normally operated in the mobile terminal, for example, the mobile terminal installs the game A.
- APP in addition, one provided by the embodiment of the present invention
- the application original image package creation system has a corresponding control panel in the mobile terminal. After the control panel is started, the corresponding process can be started by controlling the corresponding control module to control the above four modules.
- the control module acquires configuration information of the target application in the mobile terminal, where the configuration information includes: content description information such as a target application name, an original data packet size, and the like; Applying the original image package creation process, after the process is started, the data packet creation manager establishing module 101 establishes a data packet creation manager; the control module sends the acquired configuration information to the data packet creation manager, and the data packet creation management According to the configuration information, an empty original image package is created, and the capacity of the original image package is greater than the capacity of the original data packet of the target application.
- the original data packet of game A has a capacity of 4 GB
- the original image package of game A is The capacity can be 4.2GB
- the created empty original image package includes: an empty mirror data area, an empty checksum database data area, and a formatted configuration data area; the packet creation manager will then configure the information. Add to the configuration data area; then establish a relationship between the original image package and the packet creation manager The eighth pathway.
- the control module starts the storage unit creation process, creates a second virtual storage unit in the mobile terminal by the second virtual storage unit establishing module 102, and the second virtual storage unit establishing module 102 creates the second virtual storage unit and the data package.
- the ninth path between the managers, and through the system's Application Programming Interface (API) notifies the operating system to identify the created virtual storage unit.
- the system enumerates various file systems such as --ext2. 3,4 ⁇ yaffs ⁇ jffs ⁇ fat ⁇ ntfs..., verify the storage unit device one by one, and try to take over; after identifying the virtual storage unit device, create a mount point such as /apps/app_id for the second virtual storage unit.
- the second virtual storage unit can be accessed.
- the control module starts a data copy process to copy the data in the original data packet of the target application, including the resource file and the execution file, into the empty mirror data area of the original image package; Specifically, after the copy process is started, sending a data write request to the second virtual storage unit, and the second virtual storage unit sends the data write request to the data packet creation manager through the ninth path, the second data
- the request receiving module 103 calls the data packet creation manager to receive the data write request; the original image package data writing module 104 invokes the data packet creation manager to write the data according to the acquired data write request.
- the corresponding third data is requested to be written into the empty mirror data area of the original image package; until the original data of the target application is completely copied into the mirror data area of the original image package.
- the storage unit has a function of storing data and reading and writing data.
- the representation form of the storage unit is also different; the type of the storage device corresponding to the storage unit includes A variety of, such as tape, disk, NOR-flash (non-type flash chip), NAND-flash (data storage type flash chip), CD ROM (disc read-only memory), DVD ROM (digital video disk), BD ROM (only Read CD), SSD (Solid State Drive), etc., not listed here.
- the production of the original image package is completed. If the data packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 are deployed on the server, the original data of the target application in the mobile terminal is completed. The packet is copied to the original image package of the server; if the packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 are all deployed on the mobile terminal, the package may be The completed original image package is uploaded to the server to facilitate different users to use when running the target application.
- FIG. 2A illustrates an application original image package creation system of the present invention. Steps of the steps of the embodiment; FIG. 2B is a block diagram showing the structure of another embodiment of the application original image package making system of the present invention.
- the data packet creation manager M2 in the embodiment of the present invention may include: a second application manager M2A and a second storage stack M2B, wherein the second application manager M2A may include a second configuration manager M20; the second storage stack M2B
- the method may include: a second storage unit simulator M21, a second incremental data manager M22, and a second mirror cache manager M23.
- the manager and the storage stack included in the processor M2 are taken as an example, and the method of making the original image package is described in detail.
- the original image package includes a mirrored data area, a configuration data area, and a checksum database data area; wherein the data area is implemented in multiple manners, and one implementation manner is to create a large file for the original image package.
- the original image package is divided into a separate storage partition, and the file, or the independent storage partition, is divided into three areas to implement a mirror data area, a configuration data area, and a checksum database data area, so as to implement related data storage.
- the other implementation manner is that the mirrored data area, the configuration data area, and the checksum database data area in the original image package are respectively divided into corresponding independent common files, and the corresponding original image package includes: an image file, Configuration files and checksum database files.
- Step 201 Establish a packet creation manager and create an empty original image package, and establish an eighth path of the data packet creation manager and the original image package.
- the second control panel M24 Since the capacity of the original image package and the configuration information of the data are determined according to the original data packet of the target application; therefore, in the mobile terminal in which the target application is installed, the second control panel M24 is activated according to the operation of the user, and the second control is performed.
- the module M25 scans the original data packet M26 of the target application of the mobile terminal by acquiring the configuration information acquisition process, and acquires the configuration information of the original data packet M26 of the target application, where the configuration information includes: the name of the target application, and the original data packet size. Etc. Content description information.
- the second control module M25 can also start the application original image package creation process, and call the data package creation manager establishing module 101 to establish a data packet creation manager M2.
- the data packet creation manager establishing module 101 starts the second application management. M2A, and establishing a second storage unit simulator M21, a second incremental data manager M22, and a second mirror cache manager M23; at this time, the second configuration manager M20 in the second application manager M2A is also started .
- the second application manager M2A acquires the configuration information corresponding to the target application, and saves the acquired configuration information in the second configuration manager M20; and then creates an empty space according to the configuration information.
- the original image package M27 the capacity of the original image package M27 is larger than the capacity of the original data packet M26; wherein, the empty original image package M27 includes: an empty mirror data area, an empty checksum database data area, and a set The empty configuration data area of the good format; the second configuration manager M20 is called, and the configuration information corresponding to the target application is added to the empty configuration data area of the format. Then, an eighth path S8 between the packet creation manager M2 and the original image package M27 is established.
- the process of specifically establishing the eighth path S8 is as follows: (1) The second image cache manager M23 opens the mirror data area in the original image package M27, and initializes related content description information in the configuration data area, wherein the second image cache management The M23 is for managing the original image package M27; (2) the second incremental data manager M22 creates a file stream instance, establishes a data path with the second image cache manager M23, and can pass the second image cache.
- the manager M23 opens the mirror data area in the original image package M27; (3) the second storage unit simulator M21 opens the file stream instance created by the second incremental data manager M22, and establishes a second incremental data manager M22 The data path between the second incremental data manager M22 forwards the request of the second storage unit simulator M21 directly to the second mirrored cache manager M23.
- Step 202 Create a second virtual storage unit locally, and establish a ninth path of the second virtual storage unit and the data packet creation manager.
- the second control module M25 starts the storage unit creation process, and the second virtual storage unit establishing module 102 is in the mobile terminal.
- Step 203 The data packet creation manager receives a data write request by using the ninth path, where the data write request is obtained by the second virtual storage unit from a process.
- the second control module M25 starts the data copy process to copy the data in the original data packet M26 of the target application to the empty mirror data area of the original image package M27. Specifically, after the copy process is started, the copy process sends a data write request to the second virtual storage unit M28, and after receiving the data write request, the second virtual storage unit IO simulator M29 passes through the ninth path S9. The data write request is forwarded to the second storage unit simulator M21, and the second data request receiving module 103 invokes the second storage unit simulator M21 to acquire the write request through the ninth path S9.
- Step 204 The data packet creation manager writes the third data corresponding to the data write request into the original image package by using an eighth path.
- the second storage unit simulator M21 forwards the write request to the second incremental data manager M22; the original mirrored packet data writing module 104 invokes the second incremental data manager M22, according to the created file stream instance,
- the mirrored data area in the original image package M27 is opened by the second image cache manager M23, and the third data corresponding to the write request is written into the mirror data area until all the original data of the target application is copied to the In the original image package M27, wherein the third data is data included in the original data of the target application.
- the second virtual storage unit establishing module 102 invokes the operating system API to close the second virtual storage unit M28, and unmounts the mount point, and disconnects the second virtual storage.
- the corresponding startup package starts the runner; wherein the startup package includes the most basic file of the startup target application, and when the terminal runs the corresponding application by using the startup package, the startup package completes the target application.
- the second control module M25 starts the configuration process, so that the packet creation manager establishing module 101 calls the second application manager M2A to scan the mirror data area in the original image package block by block, and generates each data block in the mirror data area.
- Corresponding checksum wherein the size of the data block can be 8KB, 16KB, 64KB consecutively, and the checksum of each data block is saved into the checksum database data area; then, the checksum database data area is scanned, The value of the Message-Digest Algorithm 5 (MD5) of the database is generated, and the MD5 value and the feature information of each data block when the original image package is created, such as the download priority, are updated to the configuration data area.
- MD5 Message-Digest Algorithm 5
- the above-mentioned application original image package creation system and method can be used to produce original image packages of various large applications to reduce application development costs, such as 3D games, PS, etc.; for example, 3D games,
- a method for making an original image package of the 3D game by using the original image package creation system specifically: the 3D game is already installed on the mobile terminal, and the original data package supporting the 3D game operation is stored in the mobile terminal.
- the original image package of the 3D game can be created on the mobile terminal, and the eighth path S8 and the ninth path S9 are established; then all the data in the original data packet of the 3D game, including resources, is passed through the eighth path S8.
- the file and the execution file are copied to the mirror data area of the original image package of the 3D game; the data of the mirror data area in the original image package contains data for supporting the startup and normal operation of the 3D game; after the data copy is completed, The 3D game generates a corresponding App Launcher; the user can launch the 3D game through the APP Launcher.
- the original image package when the original image package is created, only the data packet creation manager and the second virtual storage unit are created, and the original original image package is created; and the path between the three is obtained; that is, when the write request is obtained Copy all the data in the original data packet of the target application to the original image package through the corresponding path; without analyzing the original binary code and data of the target application, the original data of the target application can be copied.
- the original image package greatly reducing the target application requires modular splitting Development time and labor costs of work.
- the server may download from the server; if the startup package of the target application is stored in the mobile terminal, the The startup package is obtained locally, and then the target application is started by the startup package.
- the data required by the target application can be obtained from the original image package, because the data required for the target application is started.
- the original image package is stored in the server, which causes the user to wait for a long time when the target application is started for the first time.
- the startup image package corresponding to the target application can be pre-created.
- the startup image package includes startup data of the target application; when the mobile terminal obtains the startup image package while acquiring the startup operation package, when the target application is started, the corresponding data can be directly obtained locally, which greatly reduces the target. The time the application was launched.
- FIG. 3 a block diagram of an embodiment of an application boot image package creation system of the present invention is shown, which may include: a local manager setup module 301, a boot image package creation module 302, and a third virtual storage unit setup module 303. a third data request receiving module 304 and a boot image packet data writing module 305; wherein
- the local manager establishing module 301 is configured to establish a local manager when starting the target application, and establish a tenth path of the local manager and the original image package.
- the boot image package establishing module 302 is configured to establish an empty boot image package, and establish an eleventh path of the local manager and the boot image package.
- the third virtual storage unit establishing module 303 is configured to locally create a third virtual storage unit, and establish a twelfth path of the local manager and the third virtual storage unit.
- the third data request receiving module 304 is configured to invoke the local manager to receive a data request through the twelfth path, where the data request is received by the third virtual storage unit from the target application.
- the startup image package data writing module 305 is configured to: when the request is a read request, invoke the local manager, and obtain, by using the tenth path, the fourth data corresponding to the read request from the original image package. And writing the fourth data into the boot image package through the eleventh path; stopping writing the fourth data to the boot image package when the target application stops running.
- the local manager establishment module 301, the startup image package creation module 302, the third virtual storage unit establishment module 303, the third data request receiving module 304, and the startup image package data writing module 305 are all deployed in the mobile terminal. on.
- the target application may be started by starting the running package, or the target application may be started through the control panel, wherein the control panel and the startup running package both correspond to different control modules; when the target application starts, the control module obtains from the startup running package.
- the corresponding identifier of the target application such as the APP ID, and the packet creation process is started, so that the local manager establishing module 301 establishes a local manager, and then the control module sends the identifier of the target application to the local manager; if the original image of the target application is stored In the local cache, the local manager looks up the original image package corresponding to the identity of the target application, and then establishes the tenth path between the local manager and the original image package; if the original image package of the target application is stored in the server, The local manager establishes a tenth path with the original image package corresponding to the identifier of the target application in the server according to the identifier of the target application; and then the startup image package creation module 302 creates an empty startup image package according to the obtained configuration information; the startup image package Capacity, equal to the capacity of the original image package; The checksum database data area and configuration information corresponding to the identifier of the target application are copied to the boot image package; the created empty boot image package further includes
- the boot image package creation module 302 then establishes an eleventh path between the local manager and the boot image package.
- the third virtual storage unit establishing module 303 locally creates a third virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; and the third data request receiving module 304 calls the local manager Receiving a data request through the twelfth path; due to the role of the third virtual storage unit establishing module 303 and the third data request receiving module 304, and the second virtual storage list
- the functions of the meta-establishment module 102 and the second data request receiving module 103 are the same, and are not described herein again.
- the startup image package data writing module calls the local manager, and obtains the first image package from the original image package through the tenth path. Reading the fourth data corresponding to the request; and writing the fourth data into the startup image package through the eleventh path; meanwhile, the local manager returns the acquired fourth data through the twelfth path Give the target application.
- the target application stops running it may be that the target application is just started, or may be a short time after the target application is started, to ensure that the data in the boot image package only occupies a small portion of the original image package.
- the data of the startup image package is less than 5% of the data of the original image package, 30 minutes after the target application is started; thereby ensuring that the time for the mobile terminal to obtain the startup image package is short. For example, if the game A is played for 20 minutes in the mobile terminal, the sixth level of the game A can be played, and the startup image package of the game A includes the data of the game A from the start to the sixth level.
- the boot image package can be further processed by the compression algorithm, so that the boot image package is smaller.
- FIG. 4A illustrates the present invention.
- FIG. 4B is a structural block diagram of another embodiment of an application startup image package creation system of the present invention.
- the local manager M4 in the embodiment of the present invention may include: a third application manager M4A and a third storage stack M4B, wherein the third application manager may include a third configuration manager M40; the third storage stack M4B may include: The third storage unit simulator M41, the third incremental data manager M42, the third mirror cache manager M43, and the third splitter M44; the following is an example of the manager and the storage stack included in the local manager M4; The method of starting the image package is described in detail.
- the boot image package includes a mirror data area, a configuration data area, an incremental data area, and a checksum database data area; wherein the data area is implemented in multiple manners, and one implementation manner is to start the image package.
- the storage function another implementation manner is that the mirror data area, the incremental data area, the configuration data area, and the checksum database data area in the startup image package are respectively divided into corresponding independent common files, and the corresponding startup is started.
- Image packages include: image files, delta files, configuration files, and checksum database files.
- Step 401 When the target application is started, the local manager is established, and the tenth path of the local manager and the original image package is established.
- Step 402 Establish an empty boot image package, and establish an eleventh path of the local manager and the boot image package.
- the local manager establishment module 301 establishes the local manager M4.
- the third control module M46 starts. a third application manager M4A, and a third storage unit simulator M41, a third incremental data manager M42, a third mirror cache manager M43, and a third splitter M44; wherein, in the third application manager M4A
- the third configuration manager M40 is also started. If the original image package M47 of the target application is stored locally, the tenth path of the local manager M4 and the local original image package M47 is established.
- the tenth path of the local manager M4 and the original image package M47 on the server is established; preferably, the server SE includes the configuration server SE1 and the data server SE2, and the local manager M4 is established.
- the tenth path with the original image package M47 on the server includes: establishing a path S101 of the third application manager M4A and the configuration server SE1 to acquire configuration information and a checksum database data area; and establishing a third splitter M44 and the data server Path S102 of SE2 to obtain data of the mirrored data area in the original image package.
- the third application manager M4A calls the third configuration manager M40 to raw data
- the configuration information and the checksum database data area in the package M47 are added to the empty boot image package.
- the boot image package includes an empty incremental data area and an empty mirror data area.
- the boot image package establishing module 302 establishes an eleventh path between the local manager M4 and the boot image package M48, that is, establishes the local manager M4 and the path S111 of the mirrored data area in the boot image package, specifically, (1)
- the three-mirror cache manager M43 opens the mirrored data area in the boot image package M48 and initializes the content description information.
- the third shunt M44 will initialize a file stream instance, establish a path of the third shunt M44 and the mirrored data area in the original image package M47, to obtain the data of the mirrored data area in the original image package M47, and the third The mirrored data area instance of the boot image package M48 opened by the mirror cache manager M43 establishes a data path.
- the third incremental data manager M42 will create a file stream instance, establish a path with the file stream instance in the third splitter M44, and open the incremental data area in the boot image package M48 to check the initial dirty data distribution. Create a description in memory.
- the third storage unit simulator M41 opens the file stream instance created by the third incremental data manager M42.
- Step 403 Create a third virtual storage unit locally, and establish a twelfth path of the local manager and the third virtual storage unit.
- the third control module M46 starts the storage unit creation process, creates a third virtual storage unit M49 in the mobile terminal through the third virtual storage unit establishing module 303, and creates the The third virtual storage unit M49 and the twelfth path S12 of the third storage unit simulator M41; then the operating system of the mobile terminal creates a mount point for the third virtual storage unit M49, and the process in the operating system can pass the mount point Accessing the third virtual storage unit. Further, in the operating system, there is a third virtual storage unit IO simulator M410 corresponding to the third virtual storage unit M49 for identifying a read/write operation for the third virtual storage unit M49.
- Step 404 The local manager receives a data request by using the twelfth path, where the data request is received by the third virtual storage unit from the target application.
- the third virtual storage unit M49 can be accessed to obtain the required data through the third virtual storage unit M49; after the third virtual storage unit IO simulator M410 obtains the request of the target application, the third The twelve path S12 forwards the request to the third storage unit simulator M41; the third data request receiving module 304 invokes the third storage unit simulator M41 to acquire the request through the twelfth path S12.
- Step 405 When the request is a read request, the local manager acquires fourth data corresponding to the read request from the original image package by using the tenth path; and The fourth data is written into the boot image package; when the target application stops running, stopping writing the fourth data to the boot image package.
- the third storage unit simulator M41 forwards the request to the third incremental data manager M42; when the third incremental data manager M42 determines that the request is a read request, starts image packet data writing
- the module 305 calls the third incremental data manager M42 to forward the read request to the third splitter M44 according to the created file stream instance, the third splitter M44 from the mirrored data area of the original image package M47 And acquiring the fourth data corresponding to the read request; after acquiring the fourth data, generating a corresponding checksum for the data block of the fourth data; and verifying the checksum of the data block corresponding to the fourth data,
- the fourth data is compared in a checksum of the corresponding data block in the checksum database data area; when the two match, the fourth data is saved in the boot image package, and the fourth data corresponds to the data block
- the two-bit identifier is set to the third state; when the two do not match, the fourth data is re-acquired from the original image package M47, and the checksum matching operation is repeated
- the third shunt M44 identifies the second bit corresponding to the data block as the fourth data of the third state by the file stream instance, and returns to the third incremental data manager M42, and the third incremental data manager M42
- the fourth data is returned to the third storage unit simulator M41, and the third storage unit simulator M41 returns the fourth data to the target application through the twelfth path S12.
- the method further includes establishing a path S112 between the third incremental data manager M42 and the incremental data area in the boot image package M48, when the When the three-increment data manager M42 determines that the received request is a write request, it directly writes the data corresponding to the write request into the incremental data area of the boot image package M48.
- the fourth data is stopped from being written into the startup image package M48; at this time, the creation of the startup image package M48 is completed; in order to make more mobile terminals
- the startup image package M48 of the target application is obtained, and the created startup image package can be uploaded to the data server.
- the application startup image package creation system and method provided above can be used to create a startup image package for 3D games, PS and other applications; since the startup image package is much smaller than the original image package, the user can reduce the use of the 3D game for the first time. Waiting time for PS; taking 3D game as an example, the method of starting the image package creation system by using the above application to create a startup image package of the 3D game, specifically: on the mobile terminal of the APP Launcher that has acquired the 3D game
- the 3D game is played by launching the APP Launcher; after the 3D game is started; the system will create a boot image package of the 3D game, and then establish the above tenth, eleventh and twelfth paths; the system will pass the tenth path
- the original image package obtains the data required by the 3D game; returns the 3D game through the twelfth path to ensure the normal operation of the 3D game; and then writes the data acquired from the original image package through the eleventh path.
- the startup image package contains the startup data of the 3D game and the data of the first few levels; thus, when the APP starts next time, it can directly obtain the startup data and the resources of the first few levels from the local startup image package.
- the data, the time and content of the trial can be determined according to the size of the 3D game or the game mode. In addition, the time of the trial can be different for games of different types, such as real-time strategic games and character-playing games.
- the boot image package when the boot image package is created, only an empty boot image package and a local manager are created; and a path between the boot image package, the original image package, and the local manager is established, and then the corresponding path can be adopted. Copy the data from the original image package to the boot image package. Because the target application runs for a short time, the amount of data of the boot image package is much smaller than the data volume of the original image package. Therefore, the mobile terminal obtains the boot image for the first time. When you pack, the waiting time is short. Moreover, when the boot image package is created, the analysis of the runtime environment on which the application depends and the modular splitting work can be eliminated, which greatly reduces the labor cost and the time cost.
- the second control panel and the third control panel are the same control panel; if not created on the same mobile terminal, the second control panel and the third control panel The control panel is different.
- the original image package and the startup package of the target application can be created, and the image package creation system is started by the above application, and the startup image package of the target application can be created. Therefore, before the target application is started by starting the running package in the mobile terminal, the application running system provided by the embodiment of the present invention obtains the startup running package and the startup image package in advance; when the target application is running, the path is initiated through the established path. Obtain the data required for the target application to run in the image package and/or the original image package; the following describes an application runtime system.
- FIG. 5A a structural block diagram of an embodiment of an application running system of the present invention is shown.
- the system specifically includes: a data packet obtaining module 501, a local cache manager establishing module 502, and a first virtual storage unit establishing module 503. a first data request receiving module 504, a data obtaining module 505, and a data feedback module 506, wherein
- a data packet obtaining module 501 configured to acquire, in advance, a startup running package and a startup mirror of the target application when the target application is not installed
- the startup package is used to start the target application
- the startup image package includes startup data of the target application.
- the local cache manager establishing module 502 is configured to establish a local cache manager, establish a first path of the local cache manager and the boot image package, and establish a local cache when the target application is started by the startup run package. The second path of the manager and server.
- the first virtual storage unit establishing module 503 is configured to locally create a first virtual storage unit, and establish a third path of the local cache manager and the first virtual storage unit.
- the first data request receiving module 504 is configured to invoke the local cache manager to receive a data request through the third path, where the data request is received by the first virtual storage unit from the target application.
- the data obtaining module 505 is configured to: when the data request is a read request, invoke the local cache manager to acquire, by using the first path, the first data of the read request from the startup image package; and Or calling the local cache manager to obtain first data of the read request from the original image package of the server by using the second path; wherein the original image package includes startup of the target application Data and operational data.
- the data feedback module 506 is configured to feed back the first data to the target application through the third path to enable the target application to run.
- the data packet obtaining module 501, the local cache manager establishing module 502, the first virtual storage unit establishing module 503, the first data request receiving module 504, the data obtaining module 505, and the data feedback module 506 are all deployed in the embodiment.
- the application running system can be deployed on each of the different mobile terminals, that is, the target application can be run on each mobile terminal. If the mobile terminal that runs the target application is the same as the mobile terminal that creates the boot image package of the target application, the first path, the second path, and the third path in the embodiment of the present invention are respectively associated with the eleventh path.
- the tenth path and the twelfth path are the same path, and the first virtual storage unit and the third virtual storage unit are the same virtual storage unit; if the mobile terminal that starts the image package of the target application is different, the embodiment of the present invention
- the first path, the second path, and the third path are not in the same path as the eleventh, tenth, and twelfth paths, respectively, and the first virtual storage unit and the third virtual storage unit are not the same virtual storage unit. .
- the packet obtaining module 501 may obtain the startup running package and the startup image package of the target application locally when the target application is not installed in advance; or may obtain the startup running package and the startup image package from the server, because the target application is started. Both the running package and the boot image package are relatively small, thus greatly saving the user's waiting time.
- the user can start the target application by starting the running package; the local cache manager establishing module 502 establishes a local cache manager after the target application is started; and then calls the local cache manager to find and And starting a boot image package corresponding to the boot package; establishing a first path of the local cache manager and the boot image package, and establishing a second path of the local cache manager and the server; and the first path and the second path
- the first virtual storage unit establishing module 503 locally creates a first virtual storage unit, and establishes a third path of the local cache manager and the first virtual storage unit; the first data request receiving module 504 uses Retrieving the local cache manager, receiving a data request through the third path, the data request is received by the first virtual storage unit from the target application; where the local cache manager establishing module 502, first a virtual storage unit establishing module 503 and a first data request receiving module 504, respectively, respectively Establishing module processor 301, to establish a data request module 303 and the third
- the data obtaining module 505 when the data request is a read request, invoking the local cache manager, by using the first path, acquiring first data of the read request from the startup image package; or calling the a local cache manager, by using the second path, acquiring first data of the read request from an original image package of the server; or acquiring the first data from a startup image package and an original image package;
- the feedback module 506 feeds back the first data to the target application through the third path to cause the target application to run.
- the local cache manager establishing module 502 establishes a local cache manager, and establishes the first path of the local cache manager and the boot image package. And establishing a second path of the local cache manager and the server; and the first virtual storage unit establishing module 503 locally creates the first virtual storage unit, establishing the local cache manager and the first virtual storage unit Three pathways.
- the application running system further includes: a data writing module 507 and a data upgrading module 508; and referring to FIG. 5B, the structure of another application operating system embodiment of the present invention is shown. Block diagram; among them,
- the data writing module 507 is configured to: when the request is a write request, the local cache manager writes the second data of the write request into the incremental data area by using the first path; The first bit of the second data corresponding data block is identified as the first state.
- the data upgrade module 508 is configured to obtain a target application upgrade startup image package when the target application needs to be upgraded, where the upgrade startup image package includes partial update data of the target application; after the local cache manager is established, local cache management is established. And a sixth path of the upgrade boot image package, and a seventh path establishing a local cache manager and the server; the local data before acquiring the first data from the boot image package and/or the original image package.
- the cache manager obtains first data of the read request from the upgrade boot image package through the sixth path; and/or, the local cache manager upgrades from the server through the seventh path Acquiring the first data of the read request in the original image package; wherein the upgrade original image package includes all update data of the target application.
- the data obtaining module 505 is specifically configured to: when the local cache manager obtains the first data of the read request from the startup image package by using the first path, the local cache manager passes the a first path, obtaining the first data from the incremental data area, and/or acquiring the first data from the mirrored data area; wherein the boot image package includes an incremental data area and Mirror the data area.
- the boot image package includes a mirror data area and an incremental data area, and the mirror data area is used to store original data of the target application.
- the data request sent to the first virtual storage unit may be a write request or a read request; the data write module 507 determines that the data request is a write request, in order not to destroy the storage in the boot image package.
- the original data of the application may be used to write the second data corresponding to the request into the incremental data area of the startup image package; and when the data block update is successful, the first bit identifier of the data block is updated to the first state. 1; when the data block update fails, the first bit identifier of the data block is updated to a second state such as 0.
- the first bit is the identifier of the data block in the incremental data area
- the first state is the success state of the first bit identifier
- the second state is the failure state of the first bit identifier.
- the company to which the target application belongs needs to split the program data package of the target application again, and modularize the process to create a new micro client; greatly reducing the upgrade target.
- the efficiency of the application Therefore, in the embodiment of the present invention, after the target application is upgraded, all the data that needs to be upgraded by the target application is copied to the upgrade original image package according to the process of creating the original image package, and then the image is started according to the target application.
- an upgrade boot image package for the upgrade data is created; when the user selects the upgrade in the mobile terminal, the mobile terminal only needs to download the upgrade boot image package directly from the server; when the target application is started, in addition to establishing the above data path, Then, the sixth path of the local cache manager and the upgrade boot image package is established; and the seventh path of the local cache manager and the upgrade original image package in the server is established.
- the data corresponding to the read request is obtained from the local upgrade boot image package and/or the upgrade original image package; when the local cache manager is in the upgrade boot image package and/or Or upgrade the original image package, if the corresponding data is not obtained, or only part of the data can be obtained; then the corresponding data is obtained from the local startup image package and/or the original image package; thereby improving the effect of the target application upgrade. rate.
- FIG. 6A shows a flow chart of steps of an application running method embodiment of the present invention.
- FIG. 6B is a block diagram showing the structure of another embodiment of the application operating system of the present invention.
- the local cache manager M6 in the embodiment of the present invention may include: a first application manager M6A and a first storage stack M6B, wherein the first application manager M6A may include a first configuration manager M60; the first storage stack M6B may The first storage unit simulator M61, the first incremental data manager M62, the first mirror cache manager M63 and the first splitter M64 are included.
- Step 601 Obtain a startup running package and a startup image package of the target application when the target application is not installed, where the startup operation package is used to start the target application, and the startup image package includes the target application. Startup data.
- the startup running package M65 and the startup image package M68 of the target application need to be obtained locally; if the local application does not exist, the startup running package M65 and the startup image are not present.
- Package M68, the boot package M65 and the boot image package M68 are obtained from the server and saved locally.
- the mobile terminal After obtaining the startup running package M65 and the startup image package M68, when the user clicks the startup running package M65, the mobile terminal directly opens the startup running package M65, completes the installation of the basic components required to start the target application, and runs the corresponding startup program P2. To launch the corresponding target application.
- the startup data included in the acquired startup image package M68 may be data required by the target application in the process of the target application from the shutdown state to the full startup state, or may be a process running from the shutdown state to the full startup state for a period of time.
- the data required by the target application this depends on the time when the target application is running when the boot image package of the target application in the above embodiment is created.
- Step 602 When the target application is started by using the startup package, establish a local cache manager, and establish a first path of the local cache manager and a startup image package, and establish a local cache manager and a server. Two pathways.
- the local cache manager establishing module 502 establishes a local cache manager M6 when the target application is started.
- the first control module M66 calls to establish a local cache process, starts the first application manager M6A, and controls the first application manager.
- the M6A establishes a first storage unit simulator M61, a first incremental data manager M62, a first mirror cache manager M63 and a first splitter M64; wherein the first configuration manager M60 in the first application manager M6A is also Was started.
- the first path of the local cache manager M6 and the boot image package M68 is established, and the second path of the local cache manager M6 and the server is established.
- Step 603 Create a first virtual storage unit locally, and establish a third path of the local cache manager and the first virtual storage unit.
- Step 604 The local cache manager receives a data request by using the third path, where the data request is received by the first virtual storage unit from the target application.
- Steps 603 and 604 are the same as steps 403 and 404, respectively, and are not described herein again.
- Step 605 When the data request is a read request, the local cache manager acquires first data of the read request from the startup image package by using the first path; and/or, the local cache The manager obtains the first data of the read request from the original image package of the server through the second path; wherein the original image package includes startup data and operation data of the target application.
- the first control module M66 starts the storage unit creation process, creates a first virtual storage unit M69 in the mobile terminal by the first virtual storage unit establishing module 503, and creates the first a virtual storage unit M69 and a third path S3 of the first storage unit simulator M61; then the operating system of the mobile terminal creates a mount point for the first virtual storage unit M69, and the process in the operating system can pass the mount point, The first virtual storage unit is accessed.
- the first storage unit simulator M61 forwards the request to the first incremental data manager M62; the first incremental data manager M62 determines whether the request is a read request or a write request; when the first increment When the data manager M62 determines that the request is a read request, the read request is sent to the first shunt M64. After receiving the read request, the first shunt M64 first determines the locally stored boot image package through the first path. Whether there is first data corresponding to the read request in the mirror data area; if yes, determining whether the first data is valid; if the first data is valid, the image package can be locally started through the first path The first data is obtained in M68.
- the first splitter may pass the second path from the original image of the server.
- the first data is obtained in the package M67. If part of the data in the first data is valid in the locally stored boot image package, obtain part of the data in the first data from the boot image package, and obtain the first image from the original image package M67 of the server. Data from other parts of the data.
- Step 606 Feed the first data to the target application through the third path, so that the target application runs.
- the first shunt M64 returns the acquired first data to the first incremental data manager M62, and the first incremental data manager M62 forwards the first data to the first storage unit simulator; the first storage The unit simulator M61 returns to the first virtual storage unit M69 through the third path S3, and the first virtual storage unit M69 feeds back the first data to the target application through the first virtual storage unit IO simulator M610.
- the startup image package, and the startup operation package are created, when the user first makes the target application, the startup application package and the startup image package of the target application are obtained; when the application is started by the startup operation package, Establishing a local cache manager, and establishing a path between the local cache manager, the boot image package, and the original image package; when the local cache manager receives the read request, the image package can be booted from the local storage through the corresponding path, and And obtaining the data corresponding to the read request in the original image package of the server and feeding back to the target application, so that the target application is run; thereby implementing, in the case of only acquiring the startup running package and the startup image package, During the running of the target application, the data required by the target application is obtained from the original image package of the boot image package and/or the server to ensure the normal operation of the target application.
- the startup image package contains the startup data of the target application, which is much smaller than the original data packet size of the target application, the time for the user to start the target application is greatly saved, and the user experience is enhanced; in addition, the target application is long.
- all functions will not be used, and only part of the program data will be downloaded, so that the space occupied by the user's local device storage system will be greatly reduced.
- FIG. 7 illustrates another embodiment of the present invention. A flow chart of the steps of the application running method embodiment.
- establishing the first path may include establishing a data path S1A between the incremental data area of the first incremental data manager M62 and the startup image package M68, so that the first incremental data manager M62 The data is written into the delta data area of the boot image package M68, and the data path S1B of the mirrored data area in the first mirror cache manager M63 and the boot image pack M68.
- Step 701 Determine whether the request is a read request. If not, execute step 702; if yes, execute step 703.
- a data request is sent to the first virtual storage unit M69, and the sent data request may be a write request or a read request; when the data request is a write request, in order not to destroy the boot image package In the mirrored data area of the M68, the first incremental data manager M62 can write the second data corresponding to the write request into the incremental data area of the boot image package M68, that is, step 702 is performed; when the data request is read Upon request, the first incremental data manager M62 can send the read request to the first splitter M64, and the first splitter M64 performs step 703.
- Step 702 Write, by using the first path, the second data of the write request into the incremental data area; and set a second data pair.
- the first bit of the data block is identified as the first state, and then the end step is performed.
- the first incremental data manager M62 determines that the data request is a write request, the data corresponding to the write request is determined as the second data; the first incremental data manager M62 passes the first path, and the boot image package M68 In the mirrored data area, and/or, through the second path, read the data block corresponding to the second data from the original image package of the server, and place the data block corresponding to the second data in the memory, the first incremental data
- the manager M62 updates the corresponding data in the data block corresponding to the second data, such as changing data or adding data according to the write request; and updating the first bit identifier of the data block when the data block is successfully updated.
- the first state is 1, and when the data block update fails, the first bit of the data block is updated to be the second state, such as 0.
- the data block corresponding to the second data and the first bit identifier corresponding to each data block are written into the incremental data area of the boot image package M68, and then the end step is performed; wherein the first bit identifier is The identifier of the data block in the incremental data area, the first state is the success state of the first bit identifier, and the second state is the failure state of the first bit identifier.
- the read request is sent to the first splitter M64; the first splitter M64 can locally boot the image package M68 and/or the data server Obtained in the original image package M67; wherein the first incremental data manager M62 obtains the first data from the local boot image package M68, and may start from the incremental data area of the boot image package M68 and/or start the image package M68. Obtained in the mirrored data area, where the boot image package includes: an incremental data area, a mirrored data area, a configuration data area, and a checksum database data area.
- Step 703 Determine whether the first data exists in the incremental data area; if yes, execute step 704; if not, perform step 706.
- the first incremental data manager M62 When the first incremental data manager M62 obtains the first data from the startup image package M68, it first determines whether the data block corresponding to the first data exists in the incremental data area of the startup image package M68, and is in the incremental data area. When there is a data block corresponding to the first data, step 704 is performed; when there is no data block corresponding to the first data in the incremental data area, step 706 is performed.
- Step 704 Determine whether the state of the first bit identifier of the data block corresponding to the first data in the incremental data area is the first state. If yes, execute step 705; if no, perform step 706.
- step 705 determining that the data in the data block is successfully updated
- step 705 determining that the data in the data block is successfully updated
- step 706 determining the data.
- the data in the block is not successfully updated, and step 706 is performed.
- the data block corresponding to the first data may be one or more than one; the first data may include all data of each data block, or may be partial data of each data block.
- Step 705 Acquire the first data from the incremental data area, and then perform step 714.
- the first data is obtained from the delta data area. Since the first data may include a plurality of data blocks, the first data includes a plurality of data blocks, and the first bit in the incremental data area is identified as the first state, and then from the incremental data area The data of the data blocks is obtained, and step 714 is performed. Step 706 is performed for the other data blocks whose status of the first bit is the second state.
- the state of the first bit identifier is the second state
- the first data is read from the mirror data area, and the steps are as follows:
- Step 706 Determine whether the first data exists in the mirrored data area. If yes, execute step 707. If not, perform step 709.
- the first current divider M64 Before the first data is read from the mirrored data area, the first current divider M64 needs to determine whether the first data exists in the mirrored data area. If yes, step 707 is performed. If not, step 709 is performed. .
- Step 707 Determine whether the state of the second bit identifier of the data block corresponding to the first data is the third state, and if yes, execute Step 708; if no, step 709 is performed.
- the data block corresponding to the first data exists in the mirror data area, it is required to determine whether the data in the data block corresponding to the first data is valid, so as to ensure that the first data fed back to the target application can support the normal operation of the target application. Specifically, it is determined whether the data block corresponding to the first data in the mirrored data area is valid according to the status of the second bit identifier of the data block in the mirrored data area; and when the status of the second bit identifier is the third status, determining the corresponding The data in the data block is valid; when the state of the second bit identifier is the fourth state, it is determined that the data in the corresponding data block is invalid; wherein the third state is the valid state of the second bit identifier, and the fourth state is the second bit identifier Invalid state.
- Step 708 Acquire the first data from the mirrored data area, and then perform step 714.
- the first data is obtained from the mirror data area. Since the first data may include a plurality of data blocks, the first data includes several of the plurality of data blocks, and the second bit in the mirrored data area is identified as the third state, and the data is obtained from the mirrored data area. For the data of several data blocks, step 714 is performed; for the other data blocks whose status of the second bit is the fourth state, step 709 is performed.
- Step 709 Acquire the first data from an original image package of the server.
- the first shunt M64 determines that the local cache of the mobile terminal is in the incremental data area and the mirrored data area of the boot image package M68, the first data does not exist, or a part of the first data exists, or When the first data is invalid, the first data may be obtained from the original image package M67 of the data server.
- Step 710 Calculate a first checksum of the first data corresponding data block, and query a second checksum of the first data corresponding data block in the checksum database data area.
- Step 711 Match the first checksum with the second checksum.
- the first data obtained from the server may be wrong or incomplete; when the first data is obtained from the original image package M67 of the data server
- the first shunt M64 needs to check the obtained first data to determine whether the first data acquired from the data server is correct; therefore, calculating the first checksum of the data block corresponding to the acquired first data; And searching for a second checksum of the data block corresponding to the first data in the checksum database data area of the boot image package M68.
- the first checksum is matched with the second checksum, and based on the result of the matching, it is determined whether the first data acquired from the original image package M67 is correct.
- Step 712 Determine whether the first checksum and the second checksum are successfully matched. If successful, perform step 713; if not, perform step 709.
- step 713 Determining whether the first checksum is successfully matched with the second checksum. If the match is successful, step 713 may be performed. If the match is unsuccessful, step 709 is performed, that is, the first data is obtained from the server again. When the first checksum of the first data acquired from the server is not successfully matched with the second checksum, the failed information is returned to the target application, and the step of ending is performed.
- Step 713 Save the first data to the mirrored data area, and set a second bit identifier of the first data corresponding data block to a third state.
- the first shunt M64 saves the first data in the mirror data area of the boot image package M68; and sets the first data corresponding data block
- the second bit is identified as a valid state, the third state.
- Step 714 Feed the first data to the target application.
- the data acquired by the first shunt M64 includes data acquired from the boot image package M68, and data acquired from the original image package M67, the two pieces of data are merged and returned to the first incremental data manager M62. If the data acquired by the first shunt M64 includes only the data obtained from the boot image package M68, the data obtained from the boot image package M68 is returned to the first increase. The data manager M62; if the data acquired by the first shunt M64 includes only the data acquired from the original image package M67, the data acquired from the original image package M67 is returned to the first incremental data manager M62.
- first incremental data manager M62 acquires data from the incremental data area of the boot image package M68, merge the data sent by the first splitter M64 with the two pieces of data acquired from the incremental data area. Returning to the first storage unit simulator M61; if the first incremental data manager M62 only acquires data from the first flow divider M64, directly transmitting the acquired data to the first storage unit simulator M61; The incremental data manager M62 only obtains the data from the incremental data area, and directly sends the acquired data to the first storage unit simulator M61, and the first storage unit simulator M61 passes the read through the third path S3. The corresponding first data is requested to be fed back to the target application.
- the server SE of the embodiment of the present invention may include a configuration server SE1 for storing configuration information of various different target applications, and a data server SE2 for storing different target applications.
- the original image package M67 and the startup image package M68 and the startup operation package M65; the second path of establishing the local cache manager M6 and the server SE includes: establishing a fourth path S21 of the first application manager M6A and the configuration server SE1, and then, An application manager M6A acquires first configuration information and a checksum database data area corresponding to the identifier of the target application from the configuration server SE1 according to the identifier of the target application.
- the second path of the local cache manager M6 and the server SE is further configured to: establish a fifth path S22 between the first splitter M64 and the data server SE2; specifically, the first splitter M64 is configured according to the acquired first configuration information.
- the original image package M67 corresponding to the configuration information is searched in the data server SE2, and then connected to the original image package M67.
- the boot image package corresponding to the boot package M65 needs to be searched in the local cache.
- the first application manager M6A runs the package according to the startup.
- the identifier of the target application in the M65 is locally searched for the startup image package corresponding to the identifier of the target application, and then the second configuration information is obtained from the startup image package, and the second configuration information and the first obtained from the configuration server SE1 are obtained.
- the configuration information is compared. When the two match, the startup image package is determined as the startup image package M68 of the target application. When the match is unsuccessful, the boot image package corresponding to the identifier of the target application can be newly found locally.
- the first data, the second data, and the like related data in the embodiment of the present invention may be implemented in the form of a fixed size (8 KB, 16 KB, 64 KB, etc.) data block set, or may be implemented in the form of a data range, such as establishing data.
- the descriptor records the data start offset (StartOffset) and the data size (Size) to describe the range corresponding to the data.
- the target application needs to be upgraded, all the data that needs to be upgraded by the target application is copied to the upgrade original image package according to the process of creating the original image package M27 in the above embodiment; Applying the startup image package M48 to create an upgrade boot image package for the upgrade data; when the user selects the upgrade in the mobile terminal, the mobile terminal only needs to download the upgrade boot image package directly from the server; when the target application starts, in addition to establishing In addition to the above data path, the sixth path of the local cache manager and the upgrade boot image package is established; and the seventh path of the local cache manager and the upgrade original image package in the server is established; in the process of running the target application, if the request is When the request is read, the data corresponding to the read request is obtained from the local upgrade boot image package and/or the upgrade original image package; when the local cache manager upgrades the boot image package and/or upgrades the original image package, the corresponding response is not obtained.
- Various large-scale applications such as online games, PS, etc., may utilize an application running system and method according to an embodiment of the present invention. Start and run on the mobile terminal that does not have the application installed. Take online game A as an example. Specifically, on the mobile terminal that does not have online game A installed, obtain the APP Launcher of online game A, and the startup image package of online game A, and start the image. The package only contains the data when the online game A starts and the data when the online game A runs to the fifth level; the user can start the online game A by clicking the APP Launcher, and when the online game A is started, the local cache manager is created and the first virtual storage is created.
- the local cache manager acquires the After the request is written, the information registered by the user is written into the incremental data area of the startup image package; when the online game A is started to run to the fifth level, the local cache manager obtains the online game A from the startup image package through the first path. All the data needed, and the data obtained through the third path is fed back to the online game A; when the online game A runs to the sixth level, the local cache manager passes the second pass.
- the road obtains the data of the sixth level from the original image package of the server, and feeds the acquired data to the online game A through the third path; and saves the data of the sixth level in the startup image package; thereby realizing the online game A
- make a boot image package for online game A When the online game A is started again, when the online game A runs to the sixth level, the local cache manager can obtain the data required for the sixth level of the online game A from the local startup image package.
- the upgraded data corresponding to the first, fifth, and tenth levels of the online game A can be made into an upgrade original image package, and the corresponding upgrade startup image package.
- the upgraded original image package is stored on the server, and the upgraded startup image package is stored on the mobile terminal having the startup image package of the online game A; at this time, the upgraded online game A can be run on the mobile terminal.
- the data may be obtained from the startup image package and/or the original image package to ensure the normal operation of the target application; on the other hand, the original image package may be obtained from the original image package.
- the data is saved in the boot image package, so that when the target application needs the data for the next run, the data can be directly obtained from the boot image package in the local cache, ensuring the smooth running of the target application.
- the target application can be upgraded, which greatly improves the efficiency of the target application upgrade and saves costs.
- embodiments of the embodiments of the invention may be provided as a method, apparatus, or computer program product.
- embodiments of the invention may be in the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware.
- embodiments of the invention may take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
- FIG. 8 shows a computing device that can implement the image package creation and application running method according to the present invention
- the computing device includes: a computing device that applies an original image package making method, a computing device that uses an application boot image package manufacturing method, And computing devices that apply the method of operation.
- the computing device conventionally includes a processor 810 and a program product or readable medium in the form of a memory 820.
- Memory 820 can be an electronic memory such as a flash memory, EEPROM (Electrically Erasable Programmable Read Only Memory), EPROM, or ROM.
- Memory 820 has a memory space 830 for program code 831 for performing any of the method steps described above.
- storage space 830 for program code may include various program code 831 for implementing various steps in the above methods, respectively.
- These program codes can be read from or written to one or more program products.
- These program products include program code carriers such as memory cards.
- Such a program product is typically a portable or fixed storage unit as described with reference to FIG.
- the storage unit may have storage segments, storage spaces, and the like that are similar to the storage 820 in the computing device of FIG.
- the program code can be compressed, for example, in an appropriate form.
- the storage unit includes readable code 831', ie, code readable by a processor, such as 810, that when executed by a computing device causes the computing device to perform various steps in the methods described above .
- Embodiments of the invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG.
- These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device
- Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
- the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
- the instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Stored Programmes (AREA)
Abstract
Description
本发明涉及信息处理技术领域,特别是涉及一种应用原始镜像包制作方法及系统、一种应用启动镜像包制作方法及系统、以及一种应用运行方法及系统。The present invention relates to the field of information processing technologies, and in particular, to a method and system for fabricating an original image package, a method and system for fabricating an application boot image package, and an application operation method and system.
随着计算机技术的不断发展,各种应用程序的功能不断地被丰富完善如图片编辑软件(Photoshop,PS)的工具栏所展现的各种功能,各种游戏软件的关卡的增加等等;以及部分应用程序为了增强视觉效果,将应用程序中的所有画面渲染成三维图形(three-dimensional,3D)的效果,例如3D游戏,虚拟现实等应用对各种计算资源的占用要求越来越高,例如人工智能、数学计算等对中央处理器(Central Processing Unit,CPU)处理能力的要求,图形运算对图形处理器的处理能力的要求,图片、人物模型、地图模型、大规模数据库对存储空间的要求,这都使得应用程序的功能日益复杂,数据包越来越大。With the continuous development of computer technology, the functions of various applications are constantly being enriched and improved, such as the various functions displayed by the toolbar of photo editing software (Photoshop, PS), the increase of various game software levels, and the like; In order to enhance the visual effect, some applications render all the images in the application into three-dimensional (3D) effects, such as 3D games, and virtual reality applications require more and more computing resources. For example, artificial intelligence, mathematical calculations, etc., the requirements of the central processing unit (CPU) processing capability, graphics computing requirements for the processing power of the graphics processor, pictures, character models, map models, large-scale database storage space This requires that the functionality of the application is increasingly complex and the data packets are getting larger.
由于用户在初次使用应用程序时,需要从服务器中下载应用程序完整的软件安装包和数据包,并且需要在终端上安装应用的软件安装包才能启动应用程序,这导致下载数据包和安装软件安装包的过程往往会耗费很长的时间。为了解决该问题,目前部分公司针对自身应用程序的特点将可执行程序与资源数据分开管理,并且将资源数据如:图片、模型、内置视频等,一般按照占程序数据包大小的绝大部分配额进行拆分,模块化处理,将必要的可执行程序以及资源模块数据打包,以制作微型客户端。Since the user needs to download the application complete software installation package and data package from the server when using the application for the first time, and need to install the application software installation package on the terminal to start the application, this results in downloading the package and installing the software installation. The process of packing often takes a long time. In order to solve this problem, some companies currently manage executable programs and resource data separately according to the characteristics of their own applications, and the resource data such as pictures, models, built-in videos, etc., generally account for the majority of the program packet size. The quotas are split, modularized, and the necessary executables and resource module data are packaged to create a micro client.
而在对应用程序进行拆分的过程中,往往需要(1)分析程序初步运行需要加载的可执行文件,以及可执行文件依赖的资源文件。(2)分析多个可执行文件之间的依赖关系,以及每个可执行文件同时依赖的资源,例如:某个功能接口会触发哪些资源,或者程序调用。(3)由于有的大型程序会依赖很多第三方的程序库,或者系统功能组件,例如3D图形引擎,数据传输库,图像视频压缩/解压库,本地操作系统硬件--CPU,显卡,存储器,网络管理接口等,这些组件一般内部结构十分复杂,而且了解相关细节需要大量的背景知识;对第三方库的解析过程需要进行大量的学习工作,了解它们在运行时访问资源的方式和特点。但是常常由于对相关机制理解不完全,会导致大量兼容性和性能问题,处理起来费时费力;可见,上述对应用程序进行拆分操作较为复杂,会引入大量的额外的人力成本和时间成本。In the process of splitting the application, it is often necessary to (1) analyze the program to run the executable file that needs to be loaded, and the resource file that the executable file depends on. (2) Analyze the dependencies between multiple executable files, and the resources that each executable file depends on at the same time, for example, which resources are triggered by a function interface, or program calls. (3) Because some large programs rely on many third-party libraries, or system function components, such as 3D graphics engine, data transfer library, image video compression/decompression library, local operating system hardware--CPU, graphics card, memory, Network management interfaces, etc. These components are generally very complex in internal structure, and require a lot of background knowledge to understand the relevant details; the process of parsing third-party libraries requires a lot of learning work to understand the ways and features of accessing resources at runtime. However, often due to incomplete understanding of the relevant mechanisms, it will lead to a large number of compatibility and performance problems, which is time-consuming and labor-intensive; it can be seen that the above-mentioned splitting of the application is complicated, and a large amount of additional labor and time costs are introduced.
发明内容Summary of the invention
本发明实施例所要解决的技术问题是提供一种应用运行方法,一种应用原始镜像包制作方法和一种应用启动镜像包制作方法,以解决现有技术中为制作微型客户端对应用程序进行拆分,造成的效率低和成本高的问题。The technical problem to be solved by the embodiments of the present invention is to provide an application running method, an application original image package manufacturing method, and an application startup image package manufacturing method, to solve the problem in the prior art for making a micro client. Splitting, resulting in low efficiency and high cost.
相应的,本发明实施例针对上述方法还提供了对应的系统,分别为:一种应用运行系统,一种应用原始镜像包制作系统和一种应用启动镜像包制作系统,用以保证上述方法的实现及应用。Correspondingly, the embodiment of the present invention further provides a corresponding system for the foregoing method, which is: an application running system, an application original image package making system, and an application startup image package making system, to ensure the above method. Implementation and application.
本发明公开了一种应用运行的方法,具体包括:预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述 目标应用的启动数据;通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路;所述本地缓存管理器通过所述第三通路接收请求,所述请求是所述第一虚拟存储单元从所述目标应用接收的;当所述请求为读请求时,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。The invention discloses a method for running an application, which comprises: acquiring a startup running package and a startup image package of the target application in advance when the target application is not installed, wherein the startup running package is used to start the target application. The boot image package includes the The startup data of the target application; when the target application is started by the startup package, establishing a local cache manager, establishing a first path of the local cache manager and the startup image package, and establishing a local cache manager and a second path of the server; locally creating a first virtual storage unit, establishing a third path of the local cache manager and the first virtual storage unit; the local cache manager receiving a request through the third path, The request is received by the first virtual storage unit from the target application; when the request is a read request, the local cache manager obtains the boot image package from the boot image package through the first path Reading the first data of the request; and/or, the local cache manager obtaining, by the second path, the first data of the read request from the original image package of the server; wherein the original image package Including startup data and operational data of the target application; feeding the first data to the target application through the third path, so that the target should Run with.
对应的,本发明实施例还公开了一种应用运行系统,具体包括:数据包获取模块,用于预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据;本地缓存管理器建立模块,用于通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;第一虚拟存储单元建立模块,在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路;第一数据请求接收模块,用于调用所述本地缓存管理器,通过所述第三通路接收数据请求,所述数据请求是所述第一虚拟存储单元从所述目标应用接收的;数据获取模块,用于当所述数据请求为读请求时,调用所述本地缓存管理器,通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,调用所述本地缓存管理器,通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据;数据反馈模块,用于通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。Correspondingly, the embodiment of the present invention further discloses an application running system, which specifically includes: a data packet obtaining module, configured to acquire a startup running package and a startup image package of the target application in advance when the target application is not installed, where The startup running package is configured to start the target application, where the startup image package includes startup data of the target application, and a local cache manager establishment module, configured to establish, when the target application is started by using the startup operation package, a local cache manager, establishing a first path of the local cache manager and the boot image package, and establishing a second path of the local cache manager and the server; the first virtual storage unit establishing module, locally creating the first virtual storage a unit, establishing a third path of the local cache manager and the first virtual storage unit; a first data request receiving module, configured to invoke the local cache manager, to receive a data request through the third path, The data request is received by the first virtual storage unit from the target application; a data acquisition module is configured to be When the data request is a read request, the local cache manager is invoked to obtain first data of the read request from the boot image package through the first path; and/or, the local cache manager is invoked Obtaining, by the second path, first data of the read request from an original image package of the server; wherein the original image package includes startup data and operation data of the target application; and a data feedback module, And transmitting, by the third path, the first data to the target application to enable the target application to run.
本发明公开了一种应用原始镜像包制作方法,具体包括:建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路;在本地创建第二虚拟存储单元,建立所述第二虚拟存储单元与所述数据包制作管理器的第九通路;所述数据包制作管理器通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟存储单元从进程获取的;所述数据包制作管理器通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中,其中,所述第三数据是目标应用的原始数据包含的数据。The invention discloses a method for manufacturing an original image package, which comprises: establishing a data packet creation manager and creating an empty original image package, and establishing an eighth path of the data packet creation manager and the original image package; Creating a second virtual storage unit locally, establishing a ninth path of the second virtual storage unit and the data packet creation manager; the data packet creation manager receiving a data write request by using the ninth path, where The data write request is obtained by the second virtual storage unit from the process; the data packet creation manager writes the third data corresponding to the data write request into the original image package through the eighth path, where The third data is data included in the original data of the target application.
对应的,本发明还公开了一种应用原始镜像包制作系统,具体包括:数据包制作管理器建立模块,用于建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路;第二虚拟存储单元建立模块,用于在本地创建第二虚拟存储单元,建立所述第二虚拟存储单元与所述数据包制作管理器的第九通路;第二数据请求接收模块,用于调用所述数据包制作管理器,通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟存储单元从进程获取的;原始镜像包数据写入模块,用于调用所述数据包制作管理器,通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中,其中,所述第三数据是目标应用的原始数据包含的数据。Correspondingly, the present invention also discloses an application original image package creation system, which specifically includes: a data packet creation manager establishing module, configured to establish a data packet creation manager, create an empty original image package, and establish the data package. An eighth path of the production manager and the original image package; a second virtual storage unit establishing module, configured to locally create a second virtual storage unit, and establish the second virtual storage unit and the data packet creation manager a ninth path; a second data request receiving module, configured to invoke the data packet creation manager to receive a data write request through the ninth path, wherein the data write request is the second virtual storage unit slave process Obtaining; the original image packet data writing module is configured to invoke the data packet creation manager, and write the third data corresponding to the data write request into the original image package by using an eighth path, where The third data is the data contained in the original data of the target application.
本发明公开了一种应用启动镜像包制作方法,具体包括:在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路;建立空的启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路;在本地创建第三虚拟存储单元,建立所述本地管理器与所述第三虚拟存储单元的第十二通路;所述本地管理器通过所述第十二通路接收数据请求,所述数据请求是所述第三虚拟存储单元从所述目标应用接收的;当所述请求为读请求时,所述本地管理器通过所述第十通路从所述 原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包。The invention discloses a method for manufacturing an application startup image package, which comprises: establishing a local manager when starting a target application, and establishing a tenth path of the local manager and the original image package; establishing an empty startup image package, and establishing The local manager and the eleventh path of the boot image package; locally creating a third virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; the local manager passes The twelfth path receives a data request, the data request is received by the third virtual storage unit from the target application; when the request is a read request, the local manager passes the tenth path From the stated Acquiring fourth data corresponding to the read request in the original image package; and writing the fourth data into the startup image package by using the eleventh path; stopping the installation when the target application stops running The fourth data is written to the boot image package.
对应的,本发明还公开了一种应用启动镜像包制作系统,具体包括:本地管理器建立模块,用于在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路;启动镜像包建立模块,建立空的所述启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路;第三虚拟存储单元建立模块,用于在本地创建第三虚拟存储单元,建立所述本地管理器与所述第三虚拟存储单元的第十二通路;第三数据请求接收模块,用于调用所述本地管理器,通过所述第十二通路接收数据请求,所述数据请求是所述第三虚拟存储单元从所述目标应用接收的;启动镜像包数据写入模块,用于当所述请求为读请求时,调用所述本地管理器,通过所述第十通路从所述原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包。Correspondingly, the present invention also discloses an application startup image package creation system, which specifically includes: a local manager establishment module, configured to establish a local manager when starting a target application, and establish a local manager and an original image package. Ten paths; starting an image package creation module, establishing an empty boot image package, and establishing an eleventh path of the local manager and the boot image package; and a third virtual storage unit establishing module for locally creating a third a virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; a third data request receiving module, configured to invoke the local manager to receive a data request through the twelfth path The data request is received by the third virtual storage unit from the target application; the boot image packet data writing module is configured to invoke the local manager when the request is a read request, by using the The tenth path acquires fourth data corresponding to the read request from the original image package; and the fourth number is performed by the eleventh path The boot image is written in a packet; when the target application stops running, stopping the fourth write data packet to the boot image.
与现有技术相比,本发明实施例包括以下优点:Compared with the prior art, the embodiments of the invention include the following advantages:
本发明实施例在制作原始镜像包时,只需建立数据包制作管理器、第二虚拟存储单元,和建立空的原始镜像包,以及三者之间的通路;即可以在获取写请求时,通过对应的通路,将目标应用的原始数据包中的所有的数据,拷贝至原始镜像包中;同样,在制作启动镜像包时,也只需建立空的启动镜像包、本地管理器和第三虚拟存储单元;以及建立启动镜像包、原始镜像包、第三虚拟存储单元和本地管理器之间的通路,然后可以通过对应的通路,从原始镜像包中将目标应用的启动数据,拷贝至启动镜像包中,从而在制作原始镜像包和启动镜像包时,均免去对应用程序所依赖运行时环境的解析,以及模块化拆分工作,大大降低了人工成本和时间成本。In the embodiment of the present invention, when the original image package is created, only the data packet creation manager, the second virtual storage unit, and the empty original image package, and the path between the three are established; that is, when the write request is obtained, Copy all the data in the original data packet of the target application to the original image package through the corresponding path; similarly, when creating the boot image package, you only need to create an empty boot image package, local manager and third. a virtual storage unit; and establishing a path between the boot image package, the original image package, the third virtual storage unit, and the local manager, and then copying the startup data of the target application from the original image package to the boot through the corresponding path In the image package, when the original image package and the startup image package are created, the analysis of the runtime environment that the application depends on and the modular splitting work are eliminated, which greatly reduces the labor cost and the time cost.
进一步的,本发明实施例在制作完成原始镜像包、启动镜像包和启动运行包之后,在用户初次使目标应用时,获取目标应用的启动运行包和启动镜像包;通过该启动运行包启动应用程序时,建立本地缓存管理器,以及建立本地缓存管理器、启动镜像包和原始镜像包之间的通路;建立第一虚拟存储单元,以及其与本地缓存管理器之间的通路;在本地缓存管理器接收到读请求时,可以通过对应的通路从启动镜像包,和/或,服务器的原始镜像包中获取所述读请求对应的数据,并反馈给所述目标应用,以使所述目标应用运行;从而实现在只获取启动运行包和启动镜像包的情况下,通过在目标应用运行的过程中,从启动镜像包和/或服务器的原始镜像包中获取目标应用所述需求的数据,保证目标应用的正常运行。此外,由于启动镜像包中包含的目标应用的启动数据量,远小于目标应用的原始数据量,从而大大节约了用户初次启动目标应用的时间,增强了用户的体验;另外,在目标应用长时间运行的过程中,一般情况下不会被使用到全部功能,进而只会下载部分程序数据,这样用户本地的设备存储系统的空间占用会大大降低。Further, after the original image package, the startup image package, and the startup package are created, the embodiment of the present invention acquires the startup operation package and the startup image package of the target application when the user first makes the target application; and starts the application by using the startup operation package. The program establishes a local cache manager, and establishes a path between the local cache manager, the boot image package, and the original image package; establishes a first virtual storage unit, and its path to the local cache manager; locally caches When the manager receives the read request, the data corresponding to the read request may be obtained from the boot image package and/or the original image package of the server through the corresponding path, and fed back to the target application to make the target The application runs; thus, in the case that only the startup running package and the startup image package are obtained, the data of the target application is obtained from the original image package of the startup image package and/or the server during the running of the target application, Ensure the normal operation of the target application. In addition, since the amount of startup data of the target application included in the startup image package is much smaller than the original data amount of the target application, the time for the user to start the target application is greatly saved, and the user experience is enhanced; In the process of running, in general, all functions will not be used, and only part of the program data will be downloaded, so that the space occupied by the user's local device storage system will be greatly reduced.
图1是本发明的一种应用原始镜像包制作系统实施例的结构框图;1 is a structural block diagram of an embodiment of an application original image package creation system of the present invention;
图2A是本发明的一种应用原始镜像包制作系统实施例的步骤流程图;2A is a flow chart showing the steps of an embodiment of the application original image package creation system of the present invention;
图2B是本发明的另一种应用原始镜像包制作系统实施例的结构框图;2B is a structural block diagram of another embodiment of an application original image package creation system of the present invention;
图3是本发明的一种应用启动镜像包制作系统实施例的结构框图;3 is a structural block diagram of an embodiment of an application boot image package creation system of the present invention;
图4A是本发明的一种应用启动镜像包制作方法实施例的步骤流程图;4A is a flow chart showing the steps of an embodiment of an application startup image package manufacturing method according to the present invention;
图4B是本发明的另一种应用启动镜像包制作系统实施例的结构框图; 4B is a structural block diagram of another embodiment of an application startup image package creation system of the present invention;
图5A是本发明的一种应用运行系统实施例的结构框图;5A is a structural block diagram of an embodiment of an application operating system of the present invention;
图5B是本发明的另一种应用运行系统实施例的结构框图;5B is a structural block diagram of another embodiment of an application operating system of the present invention;
图6A是本发明的一种应用运行方法实施例的步骤流程图;6A is a flow chart showing the steps of an embodiment of an application operation method of the present invention;
图6B是本发明的另一种应用运行系统实施例的结构框图;6B is a structural block diagram of another embodiment of an application operating system of the present invention;
图7是本发明的另一种应用运行方法实施例的步骤流程图;7 is a flow chart showing the steps of another embodiment of an application operation method of the present invention;
图8是用于执行根据本发明的镜像包制作、应用运行方法的计算设备的框图;8 is a block diagram of a computing device for performing a mirrored package creation, application running method in accordance with the present invention;
图9是用于保持或者携带实现根据本发明的镜像包制作、应用运行方法的程序代码的存储单元。9 is a storage unit for holding or carrying program code implementing the image package creation and application execution method according to the present invention.
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。The present invention will be further described in detail with reference to the accompanying drawings and specific embodiments.
本发明实施例可以应用于终端的各种操作系统中,所述终端包括个人计算机((personal computer,PC)和移动终端,操作系统包括PC端的操作系统如Windows,Linux,Unix,以及虚拟机仿真系统等,还包括移动终端的操作系统如安卓、IOS等。The embodiments of the present invention can be applied to various operating systems of a terminal, where the terminal includes a personal computer (PC) and a mobile terminal, and the operating system includes a PC-side operating system such as Windows, Linux, Unix, and virtual machine emulation. The system and the like also include an operating system of the mobile terminal such as Android, IOS, and the like.
本发明实施例中的目标应用是指软件安装包和数据包较大的应用程序,如3D游戏、PS等应用程序;其中,目标应用可以是PC端的应用程序,也可以是移动终端的应用程序(Application,APP);下面以移动终端为例,对本发明实施例的方法和系统进行说明。The target application in the embodiment of the present invention refers to a software installation package and a large application file, such as a 3D game, a PS, and the like; wherein the target application may be a PC-side application or a mobile terminal application. (Application, APP); The method and system of the embodiment of the present invention will be described below by taking a mobile terminal as an example.
本发明实施例提供了一种应用运行系统,用于在获取目标应用对应的启动运行包和启动镜像包之后,在目标应用运行时,从启动镜像包和/或服务器中的原始镜像包中,获取目标应用所需求的数据,以使目标应用正常运行;因此,需要预先制作目标应用的启动镜像包和原始镜像包,以保证目标应用的正常运行;从而,本发明实施例还提供了一种应用原始镜像包制作方法与系统,用于制作目标应用的原始镜像包,和一种应用启动镜像包制作方法与系统,用于制作目标应用的启动镜像包。下面将对上述三种系统和对应的方法进行详细的说明。An embodiment of the present invention provides an application running system, after acquiring a startup running package and a startup image package corresponding to a target application, when the target application is running, from the original image package in the startup image package and/or the server, The data required by the target application is obtained to enable the target application to run normally. Therefore, the startup image package and the original image package of the target application are required to be pre-made to ensure the normal operation of the target application. Therefore, the embodiment of the present invention further provides a The original image package creation method and system are used to create an original image package of the target application, and an application startup image package creation method and system for creating a startup image package of the target application. The above three systems and corresponding methods will be described in detail below.
参照图1,示出了本发明的一种应用原始镜像包制作系统实施例的结构框图,具体可以包括:数据包制作管理器建立模块101,第二虚拟存储单元建立模块102,第二数据请求接收模块103和原始镜像包数据写入模块104,其中,Referring to FIG. 1 , a block diagram of an embodiment of an application original image package creation system of the present invention is shown, which may include: a data packet creation manager establishing module 101, a second virtual storage unit establishing module 102, and a second data request. a receiving module 103 and an original image packet data writing module 104, wherein
数据包制作管理器建立模块101,用于建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路。The packet creation manager establishing module 101 is configured to establish a packet creation manager and create an empty original image package, and establish an eighth path of the data packet creation manager and the original image package.
第二虚拟存储单元建立模块102,用于在本地创建第二虚拟存储单元,建立所述第二虚拟存储单元与所述数据包制作管理器的第九通路。The second virtual storage unit establishing module 102 is configured to locally create a second virtual storage unit, and establish a ninth path of the second virtual storage unit and the data packet creation manager.
第二数据请求接收模块103,用于调用所述数据包制作管理器,通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟存储单元从进程获取的。The second data request receiving module 103 is configured to invoke the data packet creation manager to receive a data write request through the ninth path, wherein the data write request is obtained by the second virtual storage unit from a process.
原始镜像包数据写入模块104,用于调用所述数据包制作管理器,通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中,其中,所述第三数据是目标应用的原始数据包含的数据。The original image package data writing module 104 is configured to invoke the data packet creation manager to write the third data corresponding to the data write request into the original image package through the eighth path, where the third The data is the data contained in the original data of the target application.
本发明实施例中,第二虚拟存储单元建立模块102部署在移动终端中,数据包制作管理器建立模块101、第二数据请求接收模块103和原始镜像包数据写入模块104可以均部署在移动终端中,也可以均部署在服务器上,其中,所述移动终端中已安装目标应用和目标应用的原始数据包,且目标应用可以在所述移动终端中正常运行,如移动终端安装了游戏A的APP;此外,本发明实施例提供的一 种应用原始镜像包制作系统,在所述移动终端中有对应的控制面板,控制面板启动后,可以通过控制对应的控制模块启动对应的进程,以控制上述四个模块。当接收用户在移动终端对所述控制面板的操作时,控制模块获取移动终端中目标应用的配置信息,其中,所述配置信息包括:目标应用名称、原始数据包大小等内容描述信息;并启动应用原始镜像包制作进程,该进程启动后,数据包制作管理器建立模块101建立数据包制作管理器;控制模块将获取的所述配置信息发送至所述数据包制作管理器,数据包制作管理器根据该配置信息,创建一个空的原始镜像包,该原始镜像包的容量大于目标应用的原始数据包的容量,如游戏A的原始数据包的容量为4GB,则游戏A的原始镜像包的容量可以为4.2GB;创建的空的原始镜像包中包括:空的镜像数据区,空的校验和数据库数据区,以及已设置好格式的配置数据区;数据包制作管理器再将配置信息添加至所述配置数据区中;然后建立原始镜像包与数据包制作管理器之间的第八通路。In the embodiment of the present invention, the second virtual storage unit establishing module 102 is deployed in the mobile terminal, and the data packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 may all be deployed on the mobile terminal. The terminal may also be deployed on the server, where the original data packet of the target application and the target application is installed in the mobile terminal, and the target application can be normally operated in the mobile terminal, for example, the mobile terminal installs the game A. APP; in addition, one provided by the embodiment of the present invention The application original image package creation system has a corresponding control panel in the mobile terminal. After the control panel is started, the corresponding process can be started by controlling the corresponding control module to control the above four modules. The control module acquires configuration information of the target application in the mobile terminal, where the configuration information includes: content description information such as a target application name, an original data packet size, and the like; Applying the original image package creation process, after the process is started, the data packet creation manager establishing module 101 establishes a data packet creation manager; the control module sends the acquired configuration information to the data packet creation manager, and the data packet creation management According to the configuration information, an empty original image package is created, and the capacity of the original image package is greater than the capacity of the original data packet of the target application. For example, the original data packet of game A has a capacity of 4 GB, and the original image package of game A is The capacity can be 4.2GB; the created empty original image package includes: an empty mirror data area, an empty checksum database data area, and a formatted configuration data area; the packet creation manager will then configure the information. Add to the configuration data area; then establish a relationship between the original image package and the packet creation manager The eighth pathway.
然后,控制模块启动存储单元创建进程,通过第二虚拟存储单元建立模块102在该移动终端中创建第二虚拟存储单元,第二虚拟存储单元建立模块102再创建第二虚拟存储单元与数据包制作管理器之间的第九通路,并通过系统的应用程序接口(Application Programming Interface,API)通知操作系统对创建的虚拟存储单元进行识别,具体的,系统枚举各种文件系统如--ext2,3,4\yaffs\jffs\fat\ntfs…,逐一校验存储单元设备,并尝试接管;识别虚拟存储单元设备后,为第二虚拟存储单元创建一个挂载点如/apps/app_id,此时,该第二虚拟存储单元可以被访问。Then, the control module starts the storage unit creation process, creates a second virtual storage unit in the mobile terminal by the second virtual storage unit establishing module 102, and the second virtual storage unit establishing module 102 creates the second virtual storage unit and the data package. The ninth path between the managers, and through the system's Application Programming Interface (API), notifies the operating system to identify the created virtual storage unit. Specifically, the system enumerates various file systems such as --ext2. 3,4\yaffs\jffs\fat\ntfs..., verify the storage unit device one by one, and try to take over; after identifying the virtual storage unit device, create a mount point such as /apps/app_id for the second virtual storage unit. The second virtual storage unit can be accessed.
第八通路和第九通路建立完成后,控制模块启动数据拷贝进程,以将目标应用的原始数据包中的数据,包括资源文件和执行文件,拷贝至原始镜像包的空的镜像数据区中;具体的,拷贝进程启动后,向所述第二虚拟存储单元发送数据写请求,第二虚拟存储单元通过第九通路,将所述数据写请求发送至所述数据包制作管理器,第二数据请求接收模块103,则调用所述数据包制作管理器,接收所述数据写请求;原始镜像包数据写入模块104根据获取的数据写请求,调用所述数据包制作管理器将所述数据写请求对应的第三数据,写入该原始镜像包的空的镜像数据区中;直到将目标应用的原始数据全部拷贝至所述原始镜像包的镜像数据区中。After the eighth path and the ninth path are established, the control module starts a data copy process to copy the data in the original data packet of the target application, including the resource file and the execution file, into the empty mirror data area of the original image package; Specifically, after the copy process is started, sending a data write request to the second virtual storage unit, and the second virtual storage unit sends the data write request to the data packet creation manager through the ninth path, the second data The request receiving module 103 calls the data packet creation manager to receive the data write request; the original image package data writing module 104 invokes the data packet creation manager to write the data according to the acquired data write request. The corresponding third data is requested to be written into the empty mirror data area of the original image package; until the original data of the target application is completely copied into the mirror data area of the original image package.
本发明实施例中,所述的存储单元具有存储数据和读写数据的功能,不同的操作系统和不同的终端中,存储单元的表现形式也不同;所述存储单元对应的存储设备的类型包括多种,如磁带,磁盘,NOR-flash(非型闪存芯片),NAND-flash(资料存储型闪存芯片),CD ROM(光盘只读型内存),DVD ROM(数字视盘),BD ROM(只读光盘),SSD(固态硬盘)等等,在此不一一列举。In the embodiment of the present invention, the storage unit has a function of storing data and reading and writing data. In different operating systems and different terminals, the representation form of the storage unit is also different; the type of the storage device corresponding to the storage unit includes A variety of, such as tape, disk, NOR-flash (non-type flash chip), NAND-flash (data storage type flash chip), CD ROM (disc read-only memory), DVD ROM (digital video disk), BD ROM (only Read CD), SSD (Solid State Drive), etc., not listed here.
以上完成了原始镜像包的制作,若数据包制作管理器建立模块101、第二数据请求接收模块103和原始镜像包数据写入模块104均部署在服务器上,则移动终端中目标应用的原始数据包,被拷贝至服务器的原始镜像包中;若数据包制作管理器建立模块101、第二数据请求接收模块103和原始镜像包数据写入模块104均部署在移动终端上,则可以再将制作完成的原始镜像包上传至服务器中,以方便不同的用户在运行目标应用时使用。The production of the original image package is completed. If the data packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 are deployed on the server, the original data of the target application in the mobile terminal is completed. The packet is copied to the original image package of the server; if the packet creation manager establishing module 101, the second data request receiving module 103, and the original image packet data writing module 104 are all deployed on the mobile terminal, the package may be The completed original image package is uploaded to the server to facilitate different users to use when running the target application.
在本发明的另一个实施例中,对一种应用原始镜像包制作系统对应的方法进行说明,具体参照图2A和2B,其中,图2A示出了本发明的一种应用原始镜像包制作系统实施例的步骤流程图;图2B示出了本发明的另一种应用原始镜像包制作系统实施例的结构框图。In another embodiment of the present invention, a method corresponding to the application of the original image package creation system is described. Referring specifically to FIGS. 2A and 2B, FIG. 2A illustrates an application original image package creation system of the present invention. Steps of the steps of the embodiment; FIG. 2B is a block diagram showing the structure of another embodiment of the application original image package making system of the present invention.
本发明实施例中的数据包制作管理器M2可以包括:第二应用管理器M2A和第二存储栈M2B,其中,第二应用管理器M2A可以包括第二配置管理器M20;第二存储栈M2B可以包括:第二存储单元模拟器M21,第二增量数据管理器M22和第二镜像缓存管理器M23,以下以上述数据包制作管 理器M2包括的管理器和存储栈为例,对制作原始镜像包的方法进行详细的说明。The data packet creation manager M2 in the embodiment of the present invention may include: a second application manager M2A and a second storage stack M2B, wherein the second application manager M2A may include a second configuration manager M20; the second storage stack M2B The method may include: a second storage unit simulator M21, a second incremental data manager M22, and a second mirror cache manager M23. The manager and the storage stack included in the processor M2 are taken as an example, and the method of making the original image package is described in detail.
本发明实施例中,原始镜像包包括镜像数据区、配置数据区和校验和数据库数据区;其中,数据区的实现方式有多种,一种实现方式是为原始镜像包创建一个大文件,或者,为原始镜像包划分一块独立存储分区,将所述的文件,或者,独立存储分区划分三个区域分别实现镜像数据区、配置数据区和校验和数据库数据区,以实现相关数据存储的功能;另一种实现方式是,分别为原始镜像包中的镜像数据区、配置数据区和校验和数据库数据区,划分对应的一个独立普通文件,则对应的原始镜像包包括:镜像文件、配置文件和校验和数据库文件。In the embodiment of the present invention, the original image package includes a mirrored data area, a configuration data area, and a checksum database data area; wherein the data area is implemented in multiple manners, and one implementation manner is to create a large file for the original image package. Alternatively, the original image package is divided into a separate storage partition, and the file, or the independent storage partition, is divided into three areas to implement a mirror data area, a configuration data area, and a checksum database data area, so as to implement related data storage. The other implementation manner is that the mirrored data area, the configuration data area, and the checksum database data area in the original image package are respectively divided into corresponding independent common files, and the corresponding original image package includes: an image file, Configuration files and checksum database files.
步骤201、建立数据包制作管理器和创建空的原始镜像包,以及建立所述数据包制作管理器与所述原始镜像包的第八通路。Step 201: Establish a packet creation manager and create an empty original image package, and establish an eighth path of the data packet creation manager and the original image package.
由于原始镜像包的容量和数据的配置信息,是根据目标应用的原始数据包确定的;因此,在已安装目标应用的移动终端中,根据用户的操作,启动第二控制面板M24,第二控制模块M25通过启动配置信息获取进程,对移动终端的目标应用的原始数据包M26进行扫描,获取目标应用的原始数据包M26的配置信息,所述配置信息包括:目标应用的名称、原始数据包大小等内容描述信息。同时,第二控制模块M25还可以启动应用原始镜像包制作进程,调用数据包制作管理器建立模块101建立数据包制作管理器M2;具体的,数据包制作管理器建立模块101启动第二应用管理器M2A,以及建立第二存储单元模拟器M21、第二增量数据管理器M22和第二镜像缓存管理器M23;此时,第二应用管理器M2A中的第二配置管理器M20也被启动。数据包制作管理器M2建立完成后,第二应用管理器M2A获取目标应用对应的配置信息,并将获取的配置信息保存在第二配置管理器M20中;然后根据该配置信息,再创建一个空的原始镜像包M27,该原始镜像包M27的容量大于原始数据包M26的容量;其中,空的原始镜像包M27中包括:空的镜像数据区,空的校验和数据库数据区,以及已设置好格式的空的配置数据区;再调用第二配置管理器M20,将目标应用对应的配置信息,添加至已设置好格式的空的配置数据区中。然后,建立数据包制作管理器M2与原始镜像包M27之间的第八通路S8。Since the capacity of the original image package and the configuration information of the data are determined according to the original data packet of the target application; therefore, in the mobile terminal in which the target application is installed, the second control panel M24 is activated according to the operation of the user, and the second control is performed. The module M25 scans the original data packet M26 of the target application of the mobile terminal by acquiring the configuration information acquisition process, and acquires the configuration information of the original data packet M26 of the target application, where the configuration information includes: the name of the target application, and the original data packet size. Etc. Content description information. At the same time, the second control module M25 can also start the application original image package creation process, and call the data package creation manager establishing module 101 to establish a data packet creation manager M2. Specifically, the data packet creation manager establishing module 101 starts the second application management. M2A, and establishing a second storage unit simulator M21, a second incremental data manager M22, and a second mirror cache manager M23; at this time, the second configuration manager M20 in the second application manager M2A is also started . After the establishment of the packet creation manager M2, the second application manager M2A acquires the configuration information corresponding to the target application, and saves the acquired configuration information in the second configuration manager M20; and then creates an empty space according to the configuration information. The original image package M27, the capacity of the original image package M27 is larger than the capacity of the original data packet M26; wherein, the empty original image package M27 includes: an empty mirror data area, an empty checksum database data area, and a set The empty configuration data area of the good format; the second configuration manager M20 is called, and the configuration information corresponding to the target application is added to the empty configuration data area of the format. Then, an eighth path S8 between the packet creation manager M2 and the original image package M27 is established.
具体建立第八通路S8的过程如下:(1)第二镜像缓存管理器M23打开原始镜像包M27中的镜像数据区,并初始化配置数据区中相关的内容描述信息,其中,第二镜像缓存管理器M23是用于管理原始镜像包M27;(2)第二增量数据管理器M22创建一个文件流实例,建立与第二镜像缓存管理器M23之间的数据通路,以可以通过第二镜像缓存管理器M23打开原始镜像包M27中的镜像数据区;(3)第二存储单元模拟器M21打开第二增量数据管理器M22创建的文件流实例,建立与第二增量数据管理器M22之间的数据通路,其中,第二增量数据管理器M22将第二存储单元模拟器M21的请求直接转发至第二镜像缓存管理器M23。The process of specifically establishing the eighth path S8 is as follows: (1) The second image cache manager M23 opens the mirror data area in the original image package M27, and initializes related content description information in the configuration data area, wherein the second image cache management The M23 is for managing the original image package M27; (2) the second incremental data manager M22 creates a file stream instance, establishes a data path with the second image cache manager M23, and can pass the second image cache. The manager M23 opens the mirror data area in the original image package M27; (3) the second storage unit simulator M21 opens the file stream instance created by the second incremental data manager M22, and establishes a second incremental data manager M22 The data path between the second incremental data manager M22 forwards the request of the second storage unit simulator M21 directly to the second mirrored cache manager M23.
步骤202、在本地创建第二虚拟存储单元,建立所述第二虚拟存储单元与所述数据包制作管理器的第九通路。Step 202: Create a second virtual storage unit locally, and establish a ninth path of the second virtual storage unit and the data packet creation manager.
在建立完所述数据包制作管理器M2与所述原始镜像包M27的第八通路S8后,第二控制模块M25启动存储单元创建进程,通过第二虚拟存储单元建立模块102在该移动终端中创建第二虚拟存储单元M28,以及创建所述第二虚拟存储单元M28与上述第二存储单元模拟器M21的第九通路S9;然后移动终端的操作系统为第二虚拟存储单元创建挂载点,操作系统中的进程可以通过该挂载点,对第二虚拟存储单元M28进行访问。此外,操作系统中,存在与所述第二虚拟存储单元对应的第二虚拟存储单元IO模拟器M29,用于识别针对第二虚拟存储单元M28的读写操作。 After the eighth path S8 of the packet creation manager M2 and the original image package M27 is established, the second control module M25 starts the storage unit creation process, and the second virtual storage unit establishing module 102 is in the mobile terminal. Creating a second virtual storage unit M28, and creating a ninth path S9 of the second virtual storage unit M28 and the second storage unit simulator M21; then the operating system of the mobile terminal creates a mount point for the second virtual storage unit, The process in the operating system can access the second virtual storage unit M28 through the mount point. Further, in the operating system, there is a second virtual storage unit IO simulator M29 corresponding to the second virtual storage unit for identifying a read/write operation for the second virtual storage unit M28.
步骤203、所述数据包制作管理器通过所述第九通路接收数据写请求,其中,所述数据写请求是所述第二虚拟存储单元从进程获取的。Step 203: The data packet creation manager receives a data write request by using the ninth path, where the data write request is obtained by the second virtual storage unit from a process.
待第八通路S8和第九通路S9建立完成后,第二控制模块M25启动数据拷贝进程,以将目标应用的原始数据包M26中的数据,拷贝至原始镜像包M27的空的镜像数据区中;具体的,拷贝进程启动后,该拷贝进程向所述第二虚拟存储单元M28发送数据写请求,第二虚拟存储单元IO模拟器M29接收到所述数据写请求后,通过第九通路S9,将所述数据写请求转发至所述第二存储单元模拟器M21,第二数据请求接收模块103调用所述第二存储单元模拟器M21通过第九通路S9,获取所述写请求。After the eighth path S8 and the ninth path S9 are established, the second control module M25 starts the data copy process to copy the data in the original data packet M26 of the target application to the empty mirror data area of the original image package M27. Specifically, after the copy process is started, the copy process sends a data write request to the second virtual storage unit M28, and after receiving the data write request, the second virtual storage unit IO simulator M29 passes through the ninth path S9. The data write request is forwarded to the second storage unit simulator M21, and the second data request receiving module 103 invokes the second storage unit simulator M21 to acquire the write request through the ninth path S9.
步骤204、所述数据包制作管理器通过第八通路将所述数据写请求对应的第三数据写入所述原始镜像包中。Step 204: The data packet creation manager writes the third data corresponding to the data write request into the original image package by using an eighth path.
所述第二存储单元模拟器M21将所述写请求转发给第二增量数据管理器M22;原始镜像包数据写入模块104调用第二增量数据管理器M22,根据创建的文件流实例,通过第二镜像缓存管理器M23,打开原始镜像包M27中的镜像数据区,将所述写请求对应的第三数据写入所述镜像数据区中,直到将目标应用的原始数据全部拷贝至所述原始镜像包M27中,其中所述第三数据是目标应用的原始数据包含的数据。The second storage unit simulator M21 forwards the write request to the second incremental data manager M22; the original mirrored packet data writing module 104 invokes the second incremental data manager M22, according to the created file stream instance, The mirrored data area in the original image package M27 is opened by the second image cache manager M23, and the third data corresponding to the write request is written into the mirror data area until all the original data of the target application is copied to the In the original image package M27, wherein the third data is data included in the original data of the target application.
此外,将目标应用的原始数据全部拷贝至所述原始镜像包后,第二虚拟存储单元建立模块102调用操作系统API关闭第二虚拟存储单元M28,并卸载挂载点,断开第二虚拟存储单元M28与数据包制作管理器M2之间的第九通路S9;数据包制作管理器建立模块101断开数据包制作管理器M2与所述原始镜像包M27的第八通路S8;并生成目标应用对应的启动运行包即启动运行器;其中,所述启动运行包中包含启动目标应用的最基本的文件,在终端利用所述启动运行包运行对应的应用时,所述启动运行包完成目标应用在安装过程中,基本的组件安装与配置及目标应用与终端的交互动作。同时,第二控制模块M25启动配置进程,使得数据包制作管理器建立模块101调用第二应用管理器M2A,逐块扫描原始镜像包中的镜像数据区,为镜像数据区中每个数据块生成对应的校验和,其中,数据块的大小可以是连续8KB、16KB、64KB,并将各数据块的校验和保存至校验和数据库数据区中;然后,扫描校验和数据库数据区,生成数据库的信息摘要算法5(Message-Digest Algorithm 5,MD5)的值,将MD5值,以及制作原始镜像包时各数据块的特征信息如下载优先级,更新至配置数据区中。In addition, after copying the original data of the target application to the original image package, the second virtual storage unit establishing module 102 invokes the operating system API to close the second virtual storage unit M28, and unmounts the mount point, and disconnects the second virtual storage. a ninth path S9 between the unit M28 and the packet creation manager M2; the packet creation manager establishing module 101 disconnects the packet creation manager M2 from the eighth path S8 of the original image package M27; and generates a target application The corresponding startup package starts the runner; wherein the startup package includes the most basic file of the startup target application, and when the terminal runs the corresponding application by using the startup package, the startup package completes the target application. During the installation process, the basic component installation and configuration and the interaction between the target application and the terminal. At the same time, the second control module M25 starts the configuration process, so that the packet creation manager establishing module 101 calls the second application manager M2A to scan the mirror data area in the original image package block by block, and generates each data block in the mirror data area. Corresponding checksum, wherein the size of the data block can be 8KB, 16KB, 64KB consecutively, and the checksum of each data block is saved into the checksum database data area; then, the checksum database data area is scanned, The value of the Message-Digest Algorithm 5 (MD5) of the database is generated, and the MD5 value and the feature information of each data block when the original image package is created, such as the download priority, are updated to the configuration data area.
上述提供的一种应用原始镜像包制作系统及方法,可以用于制作各种大型的应用程序的原始镜像包,以减少应用程序的开发成本,例如3D游戏,PS等;以3D游戏为例,说明利用上述应用原始镜像包制作系统,制作该3D游戏的原始镜像包的方法,具体的:移动终端上已经安装了该3D游戏,并且该移动终端中已存储支持该3D游戏运行的原始数据包,可以在该移动终端上创建3D游戏的原始镜像包,以及建立上述第八通路S8和第九通路S9;然后通过第八通路S8,将3D游戏的原始数据包中的所有的数据,包括资源文件和执行文件,均拷贝至3D游戏的原始镜像包的镜像数据区中;该原始镜像包中镜像数据区的数据包含支持3D游戏的启动与正常运行的数据;在数据拷贝完成之后,再为该3D游戏生成对应的应用启动器(APP Launcher);用户可以通过APP Launcher,启动该3D游戏。The above-mentioned application original image package creation system and method can be used to produce original image packages of various large applications to reduce application development costs, such as 3D games, PS, etc.; for example, 3D games, A method for making an original image package of the 3D game by using the original image package creation system, specifically: the 3D game is already installed on the mobile terminal, and the original data package supporting the 3D game operation is stored in the mobile terminal. The original image package of the 3D game can be created on the mobile terminal, and the eighth path S8 and the ninth path S9 are established; then all the data in the original data packet of the 3D game, including resources, is passed through the eighth path S8. The file and the execution file are copied to the mirror data area of the original image package of the 3D game; the data of the mirror data area in the original image package contains data for supporting the startup and normal operation of the 3D game; after the data copy is completed, The 3D game generates a corresponding App Launcher; the user can launch the 3D game through the APP Launcher.
本发明实施例在制作原始镜像包时,只需建立数据包制作管理器和第二虚拟存储单元,和建立空的原始镜像包;以及三者之间的通路;即可以在获取到写请求时,通过对应的通路,将目标应用的原始数据包中的所有的数据,拷贝至原始镜像包中;无需对目标应用的原始二进制代码以及数据进行分析,即可完成将目标应用的原始数据,拷贝至原始镜像包中;大大地降低了目标应用需要模块化拆分 工作的开发时间与人工成本。In the embodiment of the present invention, when the original image package is created, only the data packet creation manager and the second virtual storage unit are created, and the original original image package is created; and the path between the three is obtained; that is, when the write request is obtained Copy all the data in the original data packet of the target application to the original image package through the corresponding path; without analyzing the original binary code and data of the target application, the original data of the target application can be copied. To the original image package; greatly reducing the target application requires modular splitting Development time and labor costs of work.
目标应用的启动运行包和原始镜像包创建后,若移动终端中未存储目标应用的启动运行包,则可以从服务器中下载;若移动终端中存储了目标应用的启动运行包,则可以直接在本地获取所述启动运行包,然后通过该启动运行包启动目标应用;在目标应用的启动的过程中,目标应用所需要的数据可以从原始镜像包中获取,由于目标应用启动时需要的数据较多,且原始镜像包存储在服务器中,从而会导致用户在初次启动目标应用时需要等待较长的时间,为了减少用户初次启动目标应用时等待的时间,可以预先制作目标应用对应的启动镜像包,该启动镜像包包括目标应用的启动数据;移动终端在获取启动运行包的同时,获取该启动镜像包,则当目标应用启动时,可以直接在本地获取启动对应的数据,这大大减少了目标应用启动的时间。After the startup package and the original image package of the target application are created, if the startup package of the target application is not stored in the mobile terminal, the server may download from the server; if the startup package of the target application is stored in the mobile terminal, the The startup package is obtained locally, and then the target application is started by the startup package. During the startup of the target application, the data required by the target application can be obtained from the original image package, because the data required for the target application is started. The original image package is stored in the server, which causes the user to wait for a long time when the target application is started for the first time. To reduce the waiting time when the user starts the target application for the first time, the startup image package corresponding to the target application can be pre-created. The startup image package includes startup data of the target application; when the mobile terminal obtains the startup image package while acquiring the startup operation package, when the target application is started, the corresponding data can be directly obtained locally, which greatly reduces the target. The time the application was launched.
参照图3,示出了本发明的一种应用启动镜像包制作系统实施例的结构框图,具体可以包括:本地管理器建立模块301、启动镜像包建立模块302、第三虚拟存储单元建立模块303、第三数据请求接收模块304和启动镜像包数据写入模块305;其中,Referring to FIG. 3, a block diagram of an embodiment of an application boot image package creation system of the present invention is shown, which may include: a local manager setup module 301, a boot image package creation module 302, and a third virtual storage unit setup module 303. a third data request receiving module 304 and a boot image packet data writing module 305; wherein
本地管理器建立模块301,用于在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路。The local manager establishing module 301 is configured to establish a local manager when starting the target application, and establish a tenth path of the local manager and the original image package.
启动镜像包建立模块302,用于建立空的所述启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路。The boot image package establishing module 302 is configured to establish an empty boot image package, and establish an eleventh path of the local manager and the boot image package.
第三虚拟存储单元建立模块303,用于在本地创建第三虚拟存储单元,建立所述本地管理器与所述第三虚拟存储单元的第十二通路。The third virtual storage unit establishing module 303 is configured to locally create a third virtual storage unit, and establish a twelfth path of the local manager and the third virtual storage unit.
第三数据请求接收模块304,用于调用所述本地管理器,通过所述第十二通路接收数据请求,所述数据请求是所述第三虚拟存储单元从所述目标应用接收的。The third data request receiving module 304 is configured to invoke the local manager to receive a data request through the twelfth path, where the data request is received by the third virtual storage unit from the target application.
启动镜像包数据写入模块305,用于当所述请求为读请求时,调用所述本地管理器,通过所述第十通路从所述原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包。The startup image package data writing module 305 is configured to: when the request is a read request, invoke the local manager, and obtain, by using the tenth path, the fourth data corresponding to the read request from the original image package. And writing the fourth data into the boot image package through the eleventh path; stopping writing the fourth data to the boot image package when the target application stops running.
本发明实施例中,本地管理器建立模块301、启动镜像包建立模块302、第三虚拟存储单元建立模块303、第三数据请求接收模块304和启动镜像包数据写入模块305均部署在移动终端上。In the embodiment of the present invention, the local manager establishment module 301, the startup image package creation module 302, the third virtual storage unit establishment module 303, the third data request receiving module 304, and the startup image package data writing module 305 are all deployed in the mobile terminal. on.
本发明实施例可以通过启动运行包启动目标应用,也可以通过控制面板启动目标应用,其中控制面板和启动运行包均对应不同的控制模块;在目标应用启动时,控制模块从启动运行包中获取目标应用对应的标识如APP ID;并启动数据包制作进程,使得本地管理器建立模块301建立本地管理器,然后控制模块将目标应用的标识发送至本地管理器;若目标应用的原始镜像包存储在本地缓存中,则本地管理器查找与目标应用的标识对应的原始镜像包,再建立本地管理器与原始镜像包之间的第十通路;若目标应用的原始镜像包存储在服务器中,则本地管理器根据目标应用的标识,与服务器中与目标应用的标识对应的原始镜像包建立第十通路;然后启动镜像包建立模块302根据获取的配置信息创建空的启动镜像包;该启动镜像包的容量,等于原始镜像包的容量;然后将与目标应用的标识对应的校验和数据库数据区和配置信息拷贝至启动镜像包中;创建的空的启动镜像包中还包括镜像数据区和增量数据区。启动镜像包建立模块302再建立本地管理器与启动镜像包之间的第十一通路。第三虚拟存储单元建立模块303在本地创建第三虚拟存储单元,建立所述本地管理器与所述第三虚拟存储单元的第十二通路;第三数据请求接收模块304调用所述本地管理器,通过所述第十二通路接收数据请求;由于第三虚拟存储单元建立模块303和第三数据请求接收模块304的作用,与,上述第二虚拟存储单 元建立模块102和第二数据请求接收模块103的作用相同,在此不再赘述。本地管理器获取所述数据请求后,当所述数据请求为读请求时,启动镜像包数据写入模块调用所述本地管理器,通过所述第十通路从所述原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;同时,本地管理器将获取的第四数据,通过第十二通路,返回给目标应用。In the embodiment of the present invention, the target application may be started by starting the running package, or the target application may be started through the control panel, wherein the control panel and the startup running package both correspond to different control modules; when the target application starts, the control module obtains from the startup running package. The corresponding identifier of the target application, such as the APP ID, and the packet creation process is started, so that the local manager establishing module 301 establishes a local manager, and then the control module sends the identifier of the target application to the local manager; if the original image of the target application is stored In the local cache, the local manager looks up the original image package corresponding to the identity of the target application, and then establishes the tenth path between the local manager and the original image package; if the original image package of the target application is stored in the server, The local manager establishes a tenth path with the original image package corresponding to the identifier of the target application in the server according to the identifier of the target application; and then the startup image package creation module 302 creates an empty startup image package according to the obtained configuration information; the startup image package Capacity, equal to the capacity of the original image package; The checksum database data area and configuration information corresponding to the identifier of the target application are copied to the boot image package; the created empty boot image package further includes a mirror data area and an incremental data area. The boot image package creation module 302 then establishes an eleventh path between the local manager and the boot image package. The third virtual storage unit establishing module 303 locally creates a third virtual storage unit, establishing a twelfth path of the local manager and the third virtual storage unit; and the third data request receiving module 304 calls the local manager Receiving a data request through the twelfth path; due to the role of the third virtual storage unit establishing module 303 and the third data request receiving module 304, and the second virtual storage list The functions of the meta-establishment module 102 and the second data request receiving module 103 are the same, and are not described herein again. After the local manager obtains the data request, when the data request is a read request, the startup image package data writing module calls the local manager, and obtains the first image package from the original image package through the tenth path. Reading the fourth data corresponding to the request; and writing the fourth data into the startup image package through the eleventh path; meanwhile, the local manager returns the acquired fourth data through the twelfth path Give the target application.
在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包中。本发明实施例中目标应用停止运行时,可以是目标应用刚刚启动时,也可以是目标应用启动后的较短时间内,以保证启动镜像包中的数据只占原始镜像包的小部分。优选的,所述启动镜像包的数据小于原始镜像包的数据的5%,如目标应用启动后30分钟;从而保证移动终端在获取启动镜像包时的时间较短。例如,在移动终端试玩20分钟的游戏A,可以玩到游戏A的第6关,则游戏A的启动镜像包中包含游戏A从启动到第6关的数据。例如,若启动镜像包存储的数据占原始镜像包的3%;如游戏A的原始镜像包为4.3GB,则游戏A的启动镜像包的容量为4.3GB,启动镜像包存储的数据占4.3GB的3%;即启动镜像包真正占用的存储空间只有4.3GB*3%=0.129GB,优选的,还可以对启动镜像包通过压缩算法进一步处理,使得启动镜像包更小。Stop writing the fourth data into the boot image package when the target application stops running. In the embodiment of the present invention, when the target application stops running, it may be that the target application is just started, or may be a short time after the target application is started, to ensure that the data in the boot image package only occupies a small portion of the original image package. Preferably, the data of the startup image package is less than 5% of the data of the original image package, 30 minutes after the target application is started; thereby ensuring that the time for the mobile terminal to obtain the startup image package is short. For example, if the game A is played for 20 minutes in the mobile terminal, the sixth level of the game A can be played, and the startup image package of the game A includes the data of the game A from the start to the sixth level. For example, if the boot image package stores 3% of the original image package; if Game A's original image package is 4.3 GB, the game A's boot image package has a capacity of 4.3 GB, and the boot image package stores 4.3 GB. 3%; that is, the storage space that the boot image package actually occupies is only 4.3 GB * 3% = 0.129 GB. Preferably, the boot image package can be further processed by the compression algorithm, so that the boot image package is smaller.
本发明的另一个实施例中,对与一种应用启动镜像包制作系统,对应的一种应用启动镜像包制作方法进行说明,具体参照图4A和4B,其中,图4A示出了本发明的一种应用启动镜像包制作方法实施例的步骤流程图;图4B示出了本发明的另一种应用启动镜像包制作系统实施例的结构框图。In another embodiment of the present invention, a method for fabricating an application startup image package corresponding to an application startup image package creation system is described. Referring specifically to FIGS. 4A and 4B, FIG. 4A illustrates the present invention. A flow chart of steps of an embodiment of an application startup image package creation method; and FIG. 4B is a structural block diagram of another embodiment of an application startup image package creation system of the present invention.
本发明实施例中的本地管理器M4可以包括:第三应用管理器M4A和第三存储栈M4B,其中,第三应用管理器可以包括第三配置管理器M40;第三存储栈M4B可以包括:第三存储单元模拟器M41,第三增量数据管理器M42、第三镜像缓存管理器M43和第三分流器M44;以下以上述本地管理器M4包括的管理器和存储栈为例,对制作启动镜像包的方法进行详细的说明。The local manager M4 in the embodiment of the present invention may include: a third application manager M4A and a third storage stack M4B, wherein the third application manager may include a third configuration manager M40; the third storage stack M4B may include: The third storage unit simulator M41, the third incremental data manager M42, the third mirror cache manager M43, and the third splitter M44; the following is an example of the manager and the storage stack included in the local manager M4; The method of starting the image package is described in detail.
本发明实施例中,启动镜像包包括镜像数据区、配置数据区、增量数据区和校验和数据库数据区;其中,数据区的实现方式有多种,一种实现方式是为启动镜像包创建一个大文件,或者,划分一块独立存储分区;在该文件或存储分区中划分四个区域,实现镜像数据区、配置数据区、增量数据区和校验和数据库数据区,以实现相关数据存储的功能;另一种实现方式是,分别为启动镜像包中的镜像数据区、增量数据区、配置数据区和校验和数据库数据区,划分对应的一个独立普通文件,则对应的启动镜像包包括:镜像文件、增量文件、配置文件和校验和数据库文件。In the embodiment of the present invention, the boot image package includes a mirror data area, a configuration data area, an incremental data area, and a checksum database data area; wherein the data area is implemented in multiple manners, and one implementation manner is to start the image package. Create a large file, or divide a separate storage partition; divide four areas in the file or storage partition to implement the mirrored data area, the configuration data area, the incremental data area, and the checksum database data area to implement related data. The storage function; another implementation manner is that the mirror data area, the incremental data area, the configuration data area, and the checksum database data area in the startup image package are respectively divided into corresponding independent common files, and the corresponding startup is started. Image packages include: image files, delta files, configuration files, and checksum database files.
步骤401、在启动目标应用时,建立本地管理器,以及建立本地管理器与原始镜像包的第十通路。Step 401: When the target application is started, the local manager is established, and the tenth path of the local manager and the original image package is established.
步骤402、建立空的启动镜像包,以及建立所述本地管理器与启动镜像包的第十一通路。Step 402: Establish an empty boot image package, and establish an eleventh path of the local manager and the boot image package.
本发明实施例通过目标应用的启动运行包,或,第三控制面板M45启动目标应用对应的启动程序P1时,本地管理器建立模块301建立本地管理器M4,具体的,第三控制模块M46启动第三应用管理器M4A,以及建立第三存储单元模拟器M41,第三增量数据管理器M42、第三镜像缓存管理器M43和第三分流器M44;其中,第三应用管理器M4A中的第三配置管理器M40也被启动。若目标应用的原始镜像包M47存储在本地,则建立本地管理器M4与本地的原始镜像包M47的第十通路。若目标应用的原始镜像包M47存储在服务器中,则建立本地管理器M4与服务器上原始镜像包M47的第十通路;优选的,服务器SE包括配置服务器SE1和数据服务器SE2,建立本地管理器M4与服务器上原始镜像包M47的第十通路包括:建立第三应用管理器M4A与配置服务器SE1的通路S101,以获取配置信息和校验和数据库数据区;以及建立第三分流器M44与数据服务器SE2的通路S102,以获取原始镜像包中镜像数据区的数据。第三应用管理器M4A调用第三配置管理器M40将原始数据 包M47中的配置信息和校验和数据库数据区,添加到空的启动镜像包中,此外,启动镜像包还包括空的增量数据区和空的镜像数据区。In the embodiment of the present invention, when the startup package P1 of the target application is started, or the third control panel M45 starts the startup program P1 corresponding to the target application, the local manager establishment module 301 establishes the local manager M4. Specifically, the third control module M46 starts. a third application manager M4A, and a third storage unit simulator M41, a third incremental data manager M42, a third mirror cache manager M43, and a third splitter M44; wherein, in the third application manager M4A The third configuration manager M40 is also started. If the original image package M47 of the target application is stored locally, the tenth path of the local manager M4 and the local original image package M47 is established. If the original image package M47 of the target application is stored in the server, the tenth path of the local manager M4 and the original image package M47 on the server is established; preferably, the server SE includes the configuration server SE1 and the data server SE2, and the local manager M4 is established. The tenth path with the original image package M47 on the server includes: establishing a path S101 of the third application manager M4A and the configuration server SE1 to acquire configuration information and a checksum database data area; and establishing a third splitter M44 and the data server Path S102 of SE2 to obtain data of the mirrored data area in the original image package. The third application manager M4A calls the third configuration manager M40 to raw data The configuration information and the checksum database data area in the package M47 are added to the empty boot image package. In addition, the boot image package includes an empty incremental data area and an empty mirror data area.
然后启动镜像包建立模块302建立本地管理器M4与启动镜像包M48之间的第十一通路,即建立本地管理器M4与启动镜像包中镜像数据区的通路S111,具体的,(1)第三镜像缓存管理器M43打开启动镜像包M48中镜像数据区以及初始化内容描述信息。(2)第三分流器M44将初始化一个文件流实例,建立第三分流器M44与原始镜像包M47中镜像数据区的通路,以获取原始镜像包M47中镜像数据区的数据,并与第三镜像缓存管理器M43打开的启动镜像包M48的镜像数据区实例建立数据通路。(3)第三增量数据管理器M42将创建一个文件流实例,建立与第三分流器M44中文件流实例的通路,以及打开启动镜像包M48中增量数据区,检查初始化脏数据分布,在内存中建立描述信息。(4)第三存储单元模拟器M41打开第三增量数据管理器M42创建的文件流实例。Then, the boot image package establishing module 302 establishes an eleventh path between the local manager M4 and the boot image package M48, that is, establishes the local manager M4 and the path S111 of the mirrored data area in the boot image package, specifically, (1) The three-mirror cache manager M43 opens the mirrored data area in the boot image package M48 and initializes the content description information. (2) The third shunt M44 will initialize a file stream instance, establish a path of the third shunt M44 and the mirrored data area in the original image package M47, to obtain the data of the mirrored data area in the original image package M47, and the third The mirrored data area instance of the boot image package M48 opened by the mirror cache manager M43 establishes a data path. (3) The third incremental data manager M42 will create a file stream instance, establish a path with the file stream instance in the third splitter M44, and open the incremental data area in the boot image package M48 to check the initial dirty data distribution. Create a description in memory. (4) The third storage unit simulator M41 opens the file stream instance created by the third incremental data manager M42.
步骤403、在本地创建第三虚拟存储单元,建立所述本地管理器与所述第三虚拟存储单元的第十二通路。Step 403: Create a third virtual storage unit locally, and establish a twelfth path of the local manager and the third virtual storage unit.
在建立完第十一通路和第十通路后,第三控制模块M46启动存储单元创建进程,通过第三虚拟存储单元建立模块303在该移动终端中创建第三虚拟存储单元M49,以及创建所述第三虚拟存储单元M49与第三存储单元模拟器M41的第十二通路S12;然后移动终端的操作系统为第三虚拟存储单元M49创建挂载点,操作系统中的进程可以通过该挂载点,对第三虚拟存储单元进行访问。此外,操作系统中,存在与所述第三虚拟存储单元M49对应的第三虚拟存储单元IO模拟器M410,用于识别针对第三虚拟存储单元M49的读写操作。After the eleventh path and the tenth path are established, the third control module M46 starts the storage unit creation process, creates a third virtual storage unit M49 in the mobile terminal through the third virtual storage unit establishing module 303, and creates the The third virtual storage unit M49 and the twelfth path S12 of the third storage unit simulator M41; then the operating system of the mobile terminal creates a mount point for the third virtual storage unit M49, and the process in the operating system can pass the mount point Accessing the third virtual storage unit. Further, in the operating system, there is a third virtual storage unit IO simulator M410 corresponding to the third virtual storage unit M49 for identifying a read/write operation for the third virtual storage unit M49.
步骤404、所述本地管理器通过所述第十二通路接收数据请求,所述数据请求是所述第三虚拟存储单元从所述目标应用接收的。Step 404: The local manager receives a data request by using the twelfth path, where the data request is received by the third virtual storage unit from the target application.
目标应用运行的过程中,可以访问第三虚拟存储单元M49,以通过第三虚拟存储单元M49获取所述需要的数据;第三虚拟存储单元IO模拟器M410获取到目标应用的请求后,通过第十二通路S12将所述请求转发给第三存储单元模拟器M41;第三数据请求接收模块304调用所述第三存储单元模拟器M41通过第十二通路S12,获取所述请求。During the running of the target application, the third virtual storage unit M49 can be accessed to obtain the required data through the third virtual storage unit M49; after the third virtual storage unit IO simulator M410 obtains the request of the target application, the third The twelve path S12 forwards the request to the third storage unit simulator M41; the third data request receiving module 304 invokes the third storage unit simulator M41 to acquire the request through the twelfth path S12.
步骤405、当所述请求为读请求时,所述本地管理器通过所述第十通路从所述原始镜像包中获取所述读请求对应的第四数据;以及通过所述第十一通路将所述第四数据写入所述启动镜像包中;在所述目标应用停止运行时,停止将所述第四数据写入所述启动镜像包。Step 405: When the request is a read request, the local manager acquires fourth data corresponding to the read request from the original image package by using the tenth path; and The fourth data is written into the boot image package; when the target application stops running, stopping writing the fourth data to the boot image package.
所述第三存储单元模拟器M41将所述请求转发给第三增量数据管理器M42;当所述第三增量数据管理器M42确定所述请求为读请求时,启动镜像包数据写入模块305调用第三增量数据管理器M42,根据创建的文件流实例,将所述读请求转发给所述第三分流器M44,所述第三分流器M44从原始镜像包M47的镜像数据区中,获取所述读请求对应的第四数据;获取所述第四数据后,为第四数据的数据块生成对应的校验和;并将第四数据对应的数据块的校验和,与第四数据在校验和数据库数据区中对应数据块的校验和进行对比;当两者匹配时,将所述第四数据保存在启动镜像包中,并将第四数据对应数据块的第二位标识设为第三状态;当两者不匹配时,重新从原始镜像包M47获取第四数据,并重复上述校验和匹配操作;若第四数据的校验和多次匹配不成功,可以先将第四数据保存在启动镜像包中,并将第四数据对应数据块的第二位标识设为第四状态;可待下次目标应用启动时,再次从原始镜像包中获取所述第四数据。其中,所述第二位标识是,镜像数据区中数据块的标识;所述第三状态是,所述镜像数据区中数据块的有效状态;所述第四状态是,所述镜像数据区中数据块的 无效状态。The third storage unit simulator M41 forwards the request to the third incremental data manager M42; when the third incremental data manager M42 determines that the request is a read request, starts image packet data writing The module 305 calls the third incremental data manager M42 to forward the read request to the third splitter M44 according to the created file stream instance, the third splitter M44 from the mirrored data area of the original image package M47 And acquiring the fourth data corresponding to the read request; after acquiring the fourth data, generating a corresponding checksum for the data block of the fourth data; and verifying the checksum of the data block corresponding to the fourth data, The fourth data is compared in a checksum of the corresponding data block in the checksum database data area; when the two match, the fourth data is saved in the boot image package, and the fourth data corresponds to the data block The two-bit identifier is set to the third state; when the two do not match, the fourth data is re-acquired from the original image package M47, and the checksum matching operation is repeated; if the checksum of the fourth data is not successfully matched, Can fourth data first The presence of boot image packet and the fourth data corresponding to the second identification data block to the fourth state; target application can be started next time, re-acquiring the image data from the original fourth packet. The second bit identifier is an identifier of a data block in the mirrored data area; the third state is an effective state of the data block in the mirrored data area; and the fourth state is the mirrored data area Medium data block Invalid state.
此外,第三分流器M44通过文件流实例,将数据块对应的第二位标识为第三状态的第四数据,返回至第三增量数据管理器M42,第三增量数据管理器M42将所述第四数据返回至第三存储单元模拟器M41,第三存储单元模拟器M41通过所述第十二通路S12,将所述第四数据返回至目标应用。In addition, the third shunt M44 identifies the second bit corresponding to the data block as the fourth data of the third state by the file stream instance, and returns to the third incremental data manager M42, and the third incremental data manager M42 The fourth data is returned to the third storage unit simulator M41, and the third storage unit simulator M41 returns the fourth data to the target application through the twelfth path S12.
此外,在建立本地管理器M4与启动镜像包M48之间的通路时,还包括建立第三增量数据管理器M42与启动镜像包M48中增量数据区之间的通路S112,当所述第三增量数据管理器M42确定接收的请求为写请求时,直接将所写请求对应的数据写入启动镜像包M48的增量数据区中。In addition, when establishing a path between the local manager M4 and the boot image package M48, the method further includes establishing a path S112 between the third incremental data manager M42 and the incremental data area in the boot image package M48, when the When the three-increment data manager M42 determines that the received request is a write request, it directly writes the data corresponding to the write request into the incremental data area of the boot image package M48.
在所述目标应用运行一段时间后,停止运行时,停止将所述第四数据写入所述启动镜像包M48;此时,即完成了启动镜像包M48的制作;为了使更多的移动终端获取目标应用的启动镜像包M48,可以将制作完成的启动镜像包上传至数据服务器中。After the target application runs for a period of time, when the operation is stopped, the fourth data is stopped from being written into the startup image package M48; at this time, the creation of the startup image package M48 is completed; in order to make more mobile terminals The startup image package M48 of the target application is obtained, and the created startup image package can be uploaded to the data server.
上述提供的一种应用启动镜像包制作系统及方法,可以用于为3D游戏,PS等应用程序制作启动镜像包;由于启动镜像包远小于原始镜像包,因此,可以减少用户在初次使用3D游戏、PS时等待时间;以3D游戏为例,说明利用上述应用启动镜像包制作系统,制作该3D游戏的启动镜像包的方法,具体的:可以在已获取该3D游戏的APP Launcher的移动终端上,通过启动APP Launcher试玩该3D游戏;3D游戏启动后;系统将创建3D游戏的启动镜像包,然后建立上述第十通路、第十一通路和第十二通路;系统将通过第十通路从原始镜像包中获取该3D游戏所需要的数据;通过第十二通路返回该3D游戏,以保证3D游戏正常的运行;然后通过第十一通路,将从原始镜像包中获取的数据,写入启动镜像包中;待试玩20~30分钟左右,此时,3D游戏已被启动,且运行到前几个关卡;然后关闭3D游戏,此时,启动镜像包中包含了3D游戏的启动数据,和前几个关卡的数据;这样,APP下次启动时,直接可以从本地启动镜像包获取启动数据以及前几个关卡的资源数据,试玩的时间以及内容可以根据3D游戏的大小或者游戏模式来确定,此外,对于不用类型的游戏,试玩的时间也可以不同,例如即时战略型游戏、人物角色扮演型游戏。The application startup image package creation system and method provided above can be used to create a startup image package for 3D games, PS and other applications; since the startup image package is much smaller than the original image package, the user can reduce the use of the 3D game for the first time. Waiting time for PS; taking 3D game as an example, the method of starting the image package creation system by using the above application to create a startup image package of the 3D game, specifically: on the mobile terminal of the APP Launcher that has acquired the 3D game The 3D game is played by launching the APP Launcher; after the 3D game is started; the system will create a boot image package of the 3D game, and then establish the above tenth, eleventh and twelfth paths; the system will pass the tenth path The original image package obtains the data required by the 3D game; returns the 3D game through the twelfth path to ensure the normal operation of the 3D game; and then writes the data acquired from the original image package through the eleventh path. Start the image package; try to play for about 20 to 30 minutes, at this time, the 3D game has been started, and run to the first few levels; then close 3D At this time, the startup image package contains the startup data of the 3D game and the data of the first few levels; thus, when the APP starts next time, it can directly obtain the startup data and the resources of the first few levels from the local startup image package. The data, the time and content of the trial can be determined according to the size of the 3D game or the game mode. In addition, the time of the trial can be different for games of different types, such as real-time strategic games and character-playing games.
本发明实施例中在制作启动镜像包时,也只需建立空的启动镜像包、本地管理器;以及建立启动镜像包、原始镜像包和本地管理器之间的通路,然后可以通过对应的通路,从原始镜像包中将数据拷贝至启动镜像包中;由于目标应用运行的时间较短,因此,启动镜像包的数据量远小于原始镜像包的数据量,从而,移动终端在初次获取启动镜像包时,等待时间短。且在制作启动镜像包时,也可以免去对应用程序所依赖运行时环境的解析,以及模块化拆分工作,大大降低了人工成本和时间成本。In the embodiment of the present invention, when the boot image package is created, only an empty boot image package and a local manager are created; and a path between the boot image package, the original image package, and the local manager is established, and then the corresponding path can be adopted. Copy the data from the original image package to the boot image package. Because the target application runs for a short time, the amount of data of the boot image package is much smaller than the data volume of the original image package. Therefore, the mobile terminal obtains the boot image for the first time. When you pack, the waiting time is short. Moreover, when the boot image package is created, the analysis of the runtime environment on which the application depends and the modular splitting work can be eliminated, which greatly reduces the labor cost and the time cost.
若通过同一个移动终端制作目标应用的原始镜像包和启动镜像包,则上述第二控制面板和第三控制面板为同一控制面板;若不在同一移动终端上制作,则第二控制面板与第三控制面板不同。If the original image package and the startup image package of the target application are created by the same mobile terminal, the second control panel and the third control panel are the same control panel; if not created on the same mobile terminal, the second control panel and the third control panel The control panel is different.
通过上述应用原始镜像包制作系统,可以实现制作目标应用的原始镜像包和启动运行包,通过上述应用启动镜像包制作系统,可以实现制作目标应用的启动镜像包。因此,在移动终端中通过启动运行包启动目标应用之前,本发明实施例提供的一种应用运行系统,预先获取启动运行包和启动镜像包;在目标应用运行时,通过建立的通路,从启动镜像包和/或原始镜像包中获取目标应用运行所需的数据;以下对一种应用运行系统进行说明。Through the application of the original image package creation system, the original image package and the startup package of the target application can be created, and the image package creation system is started by the above application, and the startup image package of the target application can be created. Therefore, before the target application is started by starting the running package in the mobile terminal, the application running system provided by the embodiment of the present invention obtains the startup running package and the startup image package in advance; when the target application is running, the path is initiated through the established path. Obtain the data required for the target application to run in the image package and/or the original image package; the following describes an application runtime system.
参照图5A,示出了本发明的一种应用运行系统实施例的结构框图,所述系统具体包括:数据包获取模块501、本地缓存管理器建立模块502、第一虚拟存储单元建立模块503、第一数据请求接收模块504、数据获取模块505和数据反馈模块506,其中,Referring to FIG. 5A, a structural block diagram of an embodiment of an application running system of the present invention is shown. The system specifically includes: a data packet obtaining module 501, a local cache manager establishing module 502, and a first virtual storage unit establishing module 503. a first data request receiving module 504, a data obtaining module 505, and a data feedback module 506, wherein
数据包获取模块501,用于预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜 像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据。a data packet obtaining module 501, configured to acquire, in advance, a startup running package and a startup mirror of the target application when the target application is not installed Like a package, wherein the startup package is used to start the target application, and the startup image package includes startup data of the target application.
本地缓存管理器建立模块502,用于通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路。The local cache manager establishing module 502 is configured to establish a local cache manager, establish a first path of the local cache manager and the boot image package, and establish a local cache when the target application is started by the startup run package. The second path of the manager and server.
第一虚拟存储单元建立模块503,用于在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路。The first virtual storage unit establishing module 503 is configured to locally create a first virtual storage unit, and establish a third path of the local cache manager and the first virtual storage unit.
第一数据请求接收模块504,用于调用所述本地缓存管理器,通过所述第三通路接收数据请求,所述数据请求是所述第一虚拟存储单元从所述目标应用接收的。The first data request receiving module 504 is configured to invoke the local cache manager to receive a data request through the third path, where the data request is received by the first virtual storage unit from the target application.
数据获取模块505,用于当所述数据请求为读请求时,调用所述本地缓存管理器,通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,调用所述本地缓存管理器,通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据。The data obtaining module 505 is configured to: when the data request is a read request, invoke the local cache manager to acquire, by using the first path, the first data of the read request from the startup image package; and Or calling the local cache manager to obtain first data of the read request from the original image package of the server by using the second path; wherein the original image package includes startup of the target application Data and operational data.
数据反馈模块506,用于通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。The data feedback module 506 is configured to feed back the first data to the target application through the third path to enable the target application to run.
本发明实施例中,数据包获取模块501、本地缓存管理器建立模块502、第一虚拟存储单元建立模块503、第一数据请求接收模块504、数据获取模块505和数据反馈模块506,均部署在移动终端上,且可以在各个不同的移动终端上部署应用运行系统,即可以在各移动终端上运行目标应用。若运行目标应用的移动终端,与上述制作目标应用的启动镜像包的移动终端为同一个时,则本发明实施例中第一通路、第二通路和第三通路,分别与上述第十一通路、第十通路和第十二通路为同一通路,第一虚拟存储单元和第三虚拟存储单元为同一虚拟存储单元;若与上述制作目标应用的启动镜像包的移动终端不同,则本发明实施例中第一通路、第二通路和第三通路,分别与上述第十一通路、第十通路和第十二通路不是同一通路,第一虚拟存储单元和第三虚拟存储单元都不是同一虚拟存储单元。In the embodiment of the present invention, the data packet obtaining module 501, the local cache manager establishing module 502, the first virtual storage unit establishing module 503, the first data request receiving module 504, the data obtaining module 505, and the data feedback module 506 are all deployed in the embodiment. On the mobile terminal, the application running system can be deployed on each of the different mobile terminals, that is, the target application can be run on each mobile terminal. If the mobile terminal that runs the target application is the same as the mobile terminal that creates the boot image package of the target application, the first path, the second path, and the third path in the embodiment of the present invention are respectively associated with the eleventh path. The tenth path and the twelfth path are the same path, and the first virtual storage unit and the third virtual storage unit are the same virtual storage unit; if the mobile terminal that starts the image package of the target application is different, the embodiment of the present invention The first path, the second path, and the third path are not in the same path as the eleventh, tenth, and twelfth paths, respectively, and the first virtual storage unit and the third virtual storage unit are not the same virtual storage unit. .
数据包获取模块501在预先在未安装目标应用时,可以从本地获取所述目标应用的启动运行包和启动镜像包;也可以从服务器中获取启动运行包和启动镜像包,由于目标应用的启动运行包和启动镜像包均比较小,因此,大大节约了用户的等待时间。用户在安装目标应用的启动运行包之后,可以通过启动运行包,启动目标应用程序;本地缓存管理器建立模块502在目标应用程序启动后,建立本地缓存管理器;然后调用本地缓存管理器查找与所述启动运行包对应的启动镜像包;再建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;在第一通路和第二通路建立完成后,第一虚拟存储单元建立模块503在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路;第一数据请求接收模块504,用于调用所述本地缓存管理器,通过所述第三通路接收数据请求,所述数据请求是所述第一虚拟存储单元从所述目标应用接收的;这里本地缓存管理器建立模块502、第一虚拟存储单元建立模块503和第一数据请求接收模块504,分别与上述本地管理器建立模块301、第三虚拟存储单元建立模块303和第三数据请求接收模块304的作用相同,在此不再赘述。数据获取模块505当所述数据请求为读请求时,调用所述本地缓存管理器,通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;或者,调用所述本地缓存管理器,通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;或者,从启动镜像包和原始镜像包中获取所述第一数据;数据反馈模块506通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。 The packet obtaining module 501 may obtain the startup running package and the startup image package of the target application locally when the target application is not installed in advance; or may obtain the startup running package and the startup image package from the server, because the target application is started. Both the running package and the boot image package are relatively small, thus greatly saving the user's waiting time. After installing the startup package of the target application, the user can start the target application by starting the running package; the local cache manager establishing module 502 establishes a local cache manager after the target application is started; and then calls the local cache manager to find and And starting a boot image package corresponding to the boot package; establishing a first path of the local cache manager and the boot image package, and establishing a second path of the local cache manager and the server; and the first path and the second path After the establishment is completed, the first virtual storage unit establishing module 503 locally creates a first virtual storage unit, and establishes a third path of the local cache manager and the first virtual storage unit; the first data request receiving module 504 uses Retrieving the local cache manager, receiving a data request through the third path, the data request is received by the first virtual storage unit from the target application; where the local cache manager establishing module 502, first a virtual storage unit establishing module 503 and a first data request receiving module 504, respectively, respectively Establishing module processor 301, to establish a data request module 303 and the third receiving module 304 is the same function as a third virtual storage unit, are not repeated here. The data obtaining module 505, when the data request is a read request, invoking the local cache manager, by using the first path, acquiring first data of the read request from the startup image package; or calling the a local cache manager, by using the second path, acquiring first data of the read request from an original image package of the server; or acquiring the first data from a startup image package and an original image package; The feedback module 506 feeds back the first data to the target application through the third path to cause the target application to run.
此外,可以是在目标应用初次启动时,也可以是在目标应用每次启动时,本地缓存管理器建立模块502建立本地缓存管理器,建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路;以及第一虚拟存储单元建立模块503在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路。In addition, when the target application is initially started, or when the target application is started, the local cache manager establishing module 502 establishes a local cache manager, and establishes the first path of the local cache manager and the boot image package. And establishing a second path of the local cache manager and the server; and the first virtual storage unit establishing module 503 locally creates the first virtual storage unit, establishing the local cache manager and the first virtual storage unit Three pathways.
优选地,本发明的另一个实例中,所述应用运行系统还包括:数据写入模块507和数据升级模块508;参照图5B,示出了本发明的另一种应用运行系统实施例的结构框图;其中,Preferably, in another example of the present invention, the application running system further includes: a data writing module 507 and a data upgrading module 508; and referring to FIG. 5B, the structure of another application operating system embodiment of the present invention is shown. Block diagram; among them,
数据写入模块507,用于当所述请求为写请求时,所述本地缓存管理器通过所述第一通路将所述写请求的第二数据写入所述增量数据区中;设置第二数据对应数据块的第一位标识为第一状态。The data writing module 507 is configured to: when the request is a write request, the local cache manager writes the second data of the write request into the incremental data area by using the first path; The first bit of the second data corresponding data block is identified as the first state.
数据升级模块508,用于在目标应用需要升级时,获取目标应用升级启动镜像包,其中,所述升级启动镜像包包括目标应用的部分更新数据;在建立本地缓存管理器后,建立本地缓存管理器与所述升级启动镜像包的第六通路,以及建立本地缓存管理器与服务器的第七通路;在从所述启动镜像包和/或原始镜像包获取所述第一数据之前,所述本地缓存管理器通过所述第六通路,从所述升级启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第七通路,从所述服务器的升级原始镜像包中获取所述读请求的第一数据;其中,所述升级原始镜像包包括所述目标应用的全部更新数据。The data upgrade module 508 is configured to obtain a target application upgrade startup image package when the target application needs to be upgraded, where the upgrade startup image package includes partial update data of the target application; after the local cache manager is established, local cache management is established. And a sixth path of the upgrade boot image package, and a seventh path establishing a local cache manager and the server; the local data before acquiring the first data from the boot image package and/or the original image package The cache manager obtains first data of the read request from the upgrade boot image package through the sixth path; and/or, the local cache manager upgrades from the server through the seventh path Acquiring the first data of the read request in the original image package; wherein the upgrade original image package includes all update data of the target application.
所述数据获取模块505,具体用于当所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据时,所述本地缓存管理器通过所述第一通路,从所述增量数据区中获取所述第一数据,和/或,从所述镜像数据区中获取所述第一数据;其中,所述启动镜像包包括增量数据区和镜像数据区。The data obtaining module 505 is specifically configured to: when the local cache manager obtains the first data of the read request from the startup image package by using the first path, the local cache manager passes the a first path, obtaining the first data from the incremental data area, and/or acquiring the first data from the mirrored data area; wherein the boot image package includes an incremental data area and Mirror the data area.
本发明实施例中,启动镜像包包括镜像数据区和增量数据区,所述镜像数据区用于存储目标应用的原始数据。目标应用运行的过程中,向第一虚拟存储单元发送数据请求可以是写请求,也可以是读请求;数据写入模块507确定所述数据请求为写请求时,为了不破坏启动镜像包中存储的应用的原始数据,可以将请求对应的第二数据写入启动镜像包的增量数据区中;并当数据块更新成功时,则更新所述数据块的第一位标识为第一状态如1;当数据块更新失败时,则更新所述数据块的第一位标识为第二状态如0。其中,第一位标识为增量数据区中数据块的标识,第一状态为第一位标识的成功状态,第二状态为第一位标识的失败状态。可见,启动镜像包的镜像数据区和增量数据区均存储了目标应用相关的数据;因此,当数据获取模块505在从启动镜像包中获取第一数据时,可以从启动镜像包的增量数据区获取第一数据,也可以从启动镜像包的镜像数据区获取所述第一数据。In the embodiment of the present invention, the boot image package includes a mirror data area and an incremental data area, and the mirror data area is used to store original data of the target application. During the running of the target application, the data request sent to the first virtual storage unit may be a write request or a read request; the data write module 507 determines that the data request is a write request, in order not to destroy the storage in the boot image package. The original data of the application may be used to write the second data corresponding to the request into the incremental data area of the startup image package; and when the data block update is successful, the first bit identifier of the data block is updated to the first state. 1; when the data block update fails, the first bit identifier of the data block is updated to a second state such as 0. The first bit is the identifier of the data block in the incremental data area, the first state is the success state of the first bit identifier, and the second state is the failure state of the first bit identifier. It can be seen that the mirrored data area and the incremental data area of the boot image package store the data related to the target application; therefore, when the data obtaining module 505 obtains the first data from the boot image package, the increment of the image package can be started. The data area acquires the first data, and the first data may also be obtained from the mirror data area of the boot image package.
现有技术中,若目标应用需要升级,则目标应用所属的公司还需要再次对该目标应用的程序数据包进行拆分,模块化处理,以制作新的微型客户端;大大的降低了升级目标应用的效率。因此,本发明实施例中,在目标应用升级后,只需按照上述制作原始镜像包的过程,将目标应用需要升级的所有的数据,拷贝至升级原始镜像包中;然后按照上述目标应用启动镜像包的制作过程,制作升级数据的升级启动镜像包;当用户在移动终端中选择升级时,移动终端只需从服务器中直接下载升级启动镜像包;在目标应用启动时,除了建立上述数据通路外,再建立本地缓存管理器与升级启动镜像包的第六通路;以及建立本地缓存管理器与服务器中升级原始镜像包的第七通路。在目标应用运行的过程中,若请求为读请求时,先从本地的升级启动镜像包和/或升级原始镜像包中获取读请求对应的数据;当本地缓存管理器在升级启动镜像包和/或升级原始镜像包中,没有获取到对应的数据,或者只能获取部分数据时;则从本地启动镜像包和/或原始镜像包获取对应的数据;从而提高了目标应用升级的效 率。In the prior art, if the target application needs to be upgraded, the company to which the target application belongs needs to split the program data package of the target application again, and modularize the process to create a new micro client; greatly reducing the upgrade target. The efficiency of the application. Therefore, in the embodiment of the present invention, after the target application is upgraded, all the data that needs to be upgraded by the target application is copied to the upgrade original image package according to the process of creating the original image package, and then the image is started according to the target application. During the production process of the package, an upgrade boot image package for the upgrade data is created; when the user selects the upgrade in the mobile terminal, the mobile terminal only needs to download the upgrade boot image package directly from the server; when the target application is started, in addition to establishing the above data path, Then, the sixth path of the local cache manager and the upgrade boot image package is established; and the seventh path of the local cache manager and the upgrade original image package in the server is established. During the running of the target application, if the request is a read request, the data corresponding to the read request is obtained from the local upgrade boot image package and/or the upgrade original image package; when the local cache manager is in the upgrade boot image package and/or Or upgrade the original image package, if the corresponding data is not obtained, or only part of the data can be obtained; then the corresponding data is obtained from the local startup image package and/or the original image package; thereby improving the effect of the target application upgrade. rate.
本发明的另一个实施例中,针对与一种应用运行系统对应的方法进行说明,具体参照图6A和6B,其中,图6A示出了本发明的一种应用运行方法实施例的步骤流程图;图6B示出了本发明的另一种应用运行系统实施例的结构框图。In another embodiment of the present invention, a method corresponding to an application running system is described, with specific reference to FIGS. 6A and 6B, wherein FIG. 6A shows a flow chart of steps of an application running method embodiment of the present invention. FIG. 6B is a block diagram showing the structure of another embodiment of the application operating system of the present invention.
本发明实施例中的本地缓存管理器M6可以包括:第一应用管理器M6A和第一存储栈M6B,其中,第一应用管理器M6A可以包括第一配置管理器M60;第一存储栈M6B可以包括:第一存储单元模拟器M61,第一增量数据管理器M62、第一镜像缓存管理器M63和第一分流器M64。The local cache manager M6 in the embodiment of the present invention may include: a first application manager M6A and a first storage stack M6B, wherein the first application manager M6A may include a first configuration manager M60; the first storage stack M6B may The first storage unit simulator M61, the first incremental data manager M62, the first mirror cache manager M63 and the first splitter M64 are included.
步骤601、预先在未安装目标应用时,获取所述目标应用的启动运行包和启动镜像包,其中,所述启动运行包用于启动所述目标应用,所述启动镜像包包括所述目标应用的启动数据。Step 601: Obtain a startup running package and a startup image package of the target application when the target application is not installed, where the startup operation package is used to start the target application, and the startup image package includes the target application. Startup data.
在任一未安装目标应用的移动终端中运行目标应用,需要预先从本地获取所述目标应用的启动运行包M65和启动镜像包M68;若本地不存在所述目标应用的启动运行包M65和启动镜像包M68,则从服务器中获取启动运行包M65和启动镜像包M68,并保存在本地。获取启动运行包M65和启动镜像包M68成功后,当用户点击启动运行包M65时,移动终端直接打开启动运行包M65,完成启动目标应用所需要的基本组件的安装,以及运行对应的启动程序P2,以启动对应的目标应用。所述获取的启动镜像包M68包含的启动数据,可以是目标应用从关闭状态到完全启动状态的过程中,目标应用需要的数据;也可以是从关闭状态到完全启动状态后运行一段时间的过程中,目标应用需要的数据;这取决于上述实施例中目标应用的启动镜像包在制作时,目标应用运行的时间。If the target application is run in any mobile terminal that does not have the target application installed, the startup running package M65 and the startup image package M68 of the target application need to be obtained locally; if the local application does not exist, the startup running package M65 and the startup image are not present. Package M68, the boot package M65 and the boot image package M68 are obtained from the server and saved locally. After obtaining the startup running package M65 and the startup image package M68, when the user clicks the startup running package M65, the mobile terminal directly opens the startup running package M65, completes the installation of the basic components required to start the target application, and runs the corresponding startup program P2. To launch the corresponding target application. The startup data included in the acquired startup image package M68 may be data required by the target application in the process of the target application from the shutdown state to the full startup state, or may be a process running from the shutdown state to the full startup state for a period of time. The data required by the target application; this depends on the time when the target application is running when the boot image package of the target application in the above embodiment is created.
步骤602、通过所述启动运行包启动所述目标应用时,建立本地缓存管理器,以及建立所述本地缓存管理器与启动镜像包的第一通路,和,建立本地缓存管理器与服务器的第二通路。Step 602: When the target application is started by using the startup package, establish a local cache manager, and establish a first path of the local cache manager and a startup image package, and establish a local cache manager and a server. Two pathways.
本地缓存管理器建立模块502,在目标应用启动时,建立本地缓存管理器M6,具体的,第一控制模块M66调用建立本地缓存进程,启动第一应用管理器M6A,以及控制第一应用管理器M6A建立第一存储单元模拟器M61,第一增量数据管理器M62、第一镜像缓存管理器M63和第一分流器M64;其中,第一应用管理器M6A中的第一配置管理器M60也被启动。然后再建立本地缓存管理器M6与启动镜像包M68的第一通路,和建立本地缓存管理器M6与服务器的第二通路。The local cache manager establishing module 502 establishes a local cache manager M6 when the target application is started. Specifically, the first control module M66 calls to establish a local cache process, starts the first application manager M6A, and controls the first application manager. The M6A establishes a first storage unit simulator M61, a first incremental data manager M62, a first mirror cache manager M63 and a first splitter M64; wherein the first configuration manager M60 in the first application manager M6A is also Was started. Then, the first path of the local cache manager M6 and the boot image package M68 is established, and the second path of the local cache manager M6 and the server is established.
步骤603、在本地创建第一虚拟存储单元,建立所述本地缓存管理器与所述第一虚拟存储单元的第三通路。Step 603: Create a first virtual storage unit locally, and establish a third path of the local cache manager and the first virtual storage unit.
步骤604、所述本地缓存管理器通过所述第三通路接收数据请求,所述数据请求是所述第一虚拟存储单元从所述目标应用接收的。Step 604: The local cache manager receives a data request by using the third path, where the data request is received by the first virtual storage unit from the target application.
步骤603与步骤604,分别与上述步骤403和404相同,这里不再赘述。
步骤605、当所述数据请求为读请求时,所述本地缓存管理器通过所述第一通路,从所述启动镜像包获取所述读请求的第一数据;和/或,所述本地缓存管理器通过所述第二通路,从所述服务器的原始镜像包中获取所述读请求的第一数据;其中,所述原始镜像包包括所述目标应用的启动数据和运行数据。Step 605: When the data request is a read request, the local cache manager acquires first data of the read request from the startup image package by using the first path; and/or, the local cache The manager obtains the first data of the read request from the original image package of the server through the second path; wherein the original image package includes startup data and operation data of the target application.
在建立完第一通路和第二通路后,第一控制模块M66启动存储单元创建进程,通过第一虚拟存储单元建立模块503在该移动终端中创建第一虚拟存储单元M69,以及创建所述第一虚拟存储单元M69与第一存储单元模拟器M61的第三通路S3;然后移动终端的操作系统为第一虚拟存储单元M69创建挂载点,操作系统中的进程可以通过该挂载点,对第一虚拟存储单元进行访问。此外,操作系统中,存在与所述第一虚拟存储单元M69对应的第一虚拟存储单元IO模拟器M610,用于识别针对第 一虚拟存储单元M69的读写操作。After the first path and the second path are established, the first control module M66 starts the storage unit creation process, creates a first virtual storage unit M69 in the mobile terminal by the first virtual storage unit establishing module 503, and creates the first a virtual storage unit M69 and a third path S3 of the first storage unit simulator M61; then the operating system of the mobile terminal creates a mount point for the first virtual storage unit M69, and the process in the operating system can pass the mount point, The first virtual storage unit is accessed. In addition, in the operating system, there is a first virtual storage unit IO simulator M610 corresponding to the first virtual storage unit M69, for identifying A read and write operation of a virtual storage unit M69.
所述第一存储单元模拟器M61将所述请求转发给第一增量数据管理器M62;由第一增量数据管理器M62判断所述请求是读请求,还是写请求;当第一增量数据管理器M62确定所述请求为读请求时,则将该读请求发送给第一分流器M64;第一分流器M64接收到该读请求后,首先通过第一通路判断本地存储的启动镜像包的镜像数据区中,是否存在该读请求对应的第一数据;若存在,则判断第一数据是否是有效的;若该第一数据是有效的,则可以通过第一通路从本地启动镜像包M68中获取所述第一数据。若本地存储的启动镜像包M68中不存在第一数据,或者,所述第一数据在本地启动镜像包中的状态是无效的状态,则第一分流器可以通过第二通路从服务器的原始镜像包M67中获取所述第一数据。若本地存储的启动镜像包中存在所述第一数据中部分数据是有效的,则从启动镜像包中获取所述第一数据中的部分数据,再从服务器的原始镜像包M67中获取第一数据中其他部分的数据。The first storage unit simulator M61 forwards the request to the first incremental data manager M62; the first incremental data manager M62 determines whether the request is a read request or a write request; when the first increment When the data manager M62 determines that the request is a read request, the read request is sent to the first shunt M64. After receiving the read request, the first shunt M64 first determines the locally stored boot image package through the first path. Whether there is first data corresponding to the read request in the mirror data area; if yes, determining whether the first data is valid; if the first data is valid, the image package can be locally started through the first path The first data is obtained in M68. If the first data does not exist in the locally stored boot image package M68, or the state of the first data in the local boot image package is invalid, the first splitter may pass the second path from the original image of the server. The first data is obtained in the package M67. If part of the data in the first data is valid in the locally stored boot image package, obtain part of the data in the first data from the boot image package, and obtain the first image from the original image package M67 of the server. Data from other parts of the data.
步骤606、通过所述第三通路将所述第一数据反馈给所述目标应用,以使所述目标应用运行。Step 606: Feed the first data to the target application through the third path, so that the target application runs.
第一分流器M64将获取的第一数据返回至第一增量数据管理器M62,第一增量数据管理器M62将所述第一数据,再转发给第一存储单元模拟器;第一存储单元模拟器M61通过第三通路S3返回至第一虚拟存储单元M69,第一虚拟存储单元M69将所述第一数据通过第一虚拟存储单元IO模拟器M610反馈给目标应用。The first shunt M64 returns the acquired first data to the first incremental data manager M62, and the first incremental data manager M62 forwards the first data to the first storage unit simulator; the first storage The unit simulator M61 returns to the first virtual storage unit M69 through the third path S3, and the first virtual storage unit M69 feeds back the first data to the target application through the first virtual storage unit IO simulator M610.
本发明实施例在制作完成原始镜像包、启动镜像包和启动运行包之后,在用户初次使目标应用时,获取目标应用的启动运行包和启动镜像包;通过该启动运行包启动应用程序时,建立本地缓存管理器,以及建立本地缓存管理器、启动镜像包和原始镜像包之间的通路;在本地缓存管理器接收到读请求时,可以通过对应的通路从本地存储的启动镜像包,和/或服务器的原始镜像包中获取所述读请求对应的数据并反馈给所述目标应用,以使所述目标应用运行;从而实现在只获取启动运行包和启动镜像包的情况下,通过在目标应用运行的过程中,从启动镜像包和/或服务器的原始镜像包中获取目标应用所需求的数据,以保证目标应用的正常运行。此外,由于启动镜像包中包含的是目标应用的启动数据,远小于目标应用的原始数据包大小,从而大大节约了用户初次启动目标应用的时间,增强了用户的体验;另外,在目标应用长时间运行的过程中,一般情况下不会被使用到全部功能,进而只会下载部分程序数据,这样用户本地的设备存储系统的空间占用会大大降低。In the embodiment of the present invention, after the original image package, the startup image package, and the startup operation package are created, when the user first makes the target application, the startup application package and the startup image package of the target application are obtained; when the application is started by the startup operation package, Establishing a local cache manager, and establishing a path between the local cache manager, the boot image package, and the original image package; when the local cache manager receives the read request, the image package can be booted from the local storage through the corresponding path, and And obtaining the data corresponding to the read request in the original image package of the server and feeding back to the target application, so that the target application is run; thereby implementing, in the case of only acquiring the startup running package and the startup image package, During the running of the target application, the data required by the target application is obtained from the original image package of the boot image package and/or the server to ensure the normal operation of the target application. In addition, since the startup image package contains the startup data of the target application, which is much smaller than the original data packet size of the target application, the time for the user to start the target application is greatly saved, and the user experience is enhanced; in addition, the target application is long. During the running of the time, in general, all functions will not be used, and only part of the program data will be downloaded, so that the space occupied by the user's local device storage system will be greatly reduced.
本发明的另一个实施例中,针对第一增量数据管理器获取到所述请求后的处理过程进行详细说明,具体参照图7和6B,其中,图7示出了本发明的另一种应用运行方法实施例的步骤流程图。In another embodiment of the present invention, a detailed description of the processing procedure after the first incremental data manager obtains the request is provided. Referring specifically to FIGS. 7 and 6B, FIG. 7 illustrates another embodiment of the present invention. A flow chart of the steps of the application running method embodiment.
本发明实施例中,建立上述第一通路可以包括建立第一增量数据管理器M62与启动镜像包M68的增量数据区之间的数据通路S1A,以使第一增量数据管理器M62将数据写入启动镜像包M68的增量数据区中,和第一镜像缓存管理器M63与启动镜像包M68中镜像数据区的数据通路S1B。In the embodiment of the present invention, establishing the first path may include establishing a data path S1A between the incremental data area of the first incremental data manager M62 and the startup image package M68, so that the first incremental data manager M62 The data is written into the delta data area of the boot image package M68, and the data path S1B of the mirrored data area in the first mirror cache manager M63 and the boot image pack M68.
步骤701、判断所述请求是否为读请求,若否,则执行步骤702;若是,则执行步骤703。Step 701: Determine whether the request is a read request. If not, execute step 702; if yes, execute step 703.
目标应用运行的过程中,会向第一虚拟存储单元M69发送数据请求,发送的数据请求可以是写请求,也可以是读请求;当所述数据请求为写请求时,为了不破坏启动镜像包M68的中的镜像数据区,第一增量数据管理器M62可以将写请求对应的第二数据写入启动镜像包M68的增量数据区中,即执行步骤702;当所述数据请求为读请求时,第一增量数据管理器M62可以将所述读请求发送至第一分流器M64,第一分流器M64执行步骤703。During the running of the target application, a data request is sent to the first virtual storage unit M69, and the sent data request may be a write request or a read request; when the data request is a write request, in order not to destroy the boot image package In the mirrored data area of the M68, the first incremental data manager M62 can write the second data corresponding to the write request into the incremental data area of the boot image package M68, that is, step 702 is performed; when the data request is read Upon request, the first incremental data manager M62 can send the read request to the first splitter M64, and the first splitter M64 performs step 703.
步骤702、通过所述第一通路将所述写请求的第二数据写入所述增量数据区中;设置第二数据对 应数据块的第一位标识为第一状态,然后执行结束的步骤。Step 702: Write, by using the first path, the second data of the write request into the incremental data area; and set a second data pair. The first bit of the data block is identified as the first state, and then the end step is performed.
第一增量数据管理器M62确定所述数据请求是写请求时,将所述写请求对应的数据确定为第二数据;第一增量数据管理器M62通过第一通路,从启动镜像包M68的镜像数据区中,和/或,通过第二通路,从服务器的原始镜像包中读取第二数据对应的数据块,将第二数据对应的数据块放在内存中,第一增量数据管理器M62根据所述写请求,更新所述第二数据对应的数据块中对应的数据,比如更改数据或增加数据;并当数据块更新成功时,则更新所述数据块的第一位标识为第一状态如1;当数据块更新失败时,则更新所述数据块的第一位标识为第二状态如0。然后通过通路S1A,将第二数据对应的数据块以及各数据块对应的第一位标识,写入启动镜像包M68的增量数据区中,然后执行结束的步骤;其中,第一位标识为增量数据区中数据块的标识,第一状态为第一位标识的成功状态,第二状态为第一位标识的失败状态。When the first incremental data manager M62 determines that the data request is a write request, the data corresponding to the write request is determined as the second data; the first incremental data manager M62 passes the first path, and the boot image package M68 In the mirrored data area, and/or, through the second path, read the data block corresponding to the second data from the original image package of the server, and place the data block corresponding to the second data in the memory, the first incremental data The manager M62 updates the corresponding data in the data block corresponding to the second data, such as changing data or adding data according to the write request; and updating the first bit identifier of the data block when the data block is successfully updated. The first state is 1, and when the data block update fails, the first bit of the data block is updated to be the second state, such as 0. Then, through the path S1A, the data block corresponding to the second data and the first bit identifier corresponding to each data block are written into the incremental data area of the boot image package M68, and then the end step is performed; wherein the first bit identifier is The identifier of the data block in the incremental data area, the first state is the success state of the first bit identifier, and the second state is the failure state of the first bit identifier.
当第一增量数据管理器M62确定所述请求为读请求时,将该读请求发送给所述第一分流器M64;第一分流器M64可以从本地启动镜像包M68中和/或数据服务器的原始镜像包M67中获取;其中,第一增量数据管理器M62从本地启动镜像包M68中获取第一数据,可以从启动镜像包M68的增量数据区中和/或启动镜像包M68的镜像数据区中获取,其中,启动镜像包包括:增量数据区、镜像数据区、配置数据区和校验和数据库数据区,具体的步骤如下:When the first incremental data manager M62 determines that the request is a read request, the read request is sent to the first splitter M64; the first splitter M64 can locally boot the image package M68 and/or the data server Obtained in the original image package M67; wherein the first incremental data manager M62 obtains the first data from the local boot image package M68, and may start from the incremental data area of the boot image package M68 and/or start the image package M68. Obtained in the mirrored data area, where the boot image package includes: an incremental data area, a mirrored data area, a configuration data area, and a checksum database data area. The specific steps are as follows:
步骤703、判断所述增量数据区中是否存在所述第一数据;若存在,则执行步骤704;若不存在,则执行步骤706。Step 703: Determine whether the first data exists in the incremental data area; if yes, execute step 704; if not, perform
第一增量数据管理器M62从启动镜像包M68中获取第一数据时,先判断启动镜像包M68的增量数据区中是否存在所述第一数据对应的数据块,当增量数据区中存在第一数据对应的数据块时,则执行步骤704;当增量数据区中不存在第一数据对应的数据块时,则执行步骤706。When the first incremental data manager M62 obtains the first data from the startup image package M68, it first determines whether the data block corresponding to the first data exists in the incremental data area of the startup image package M68, and is in the incremental data area. When there is a data block corresponding to the first data, step 704 is performed; when there is no data block corresponding to the first data in the incremental data area,
步骤704、判断所述增量数据区中第一数据对应数据块的第一位标识的状态是否为第一状态,若是,则执行步骤705;若否,则执行步骤706。Step 704: Determine whether the state of the first bit identifier of the data block corresponding to the first data in the incremental data area is the first state. If yes, execute
当增量数据区中存在第一数据对应的数据块时,根据增量数据区中数据块对应第一位标识,确定第一数据对应的数据块是否被成功更新。当数据块的第一位标识的状态为第一状态时,确定该数据块中的数据被成功更新,执行步骤705;当数据块的第一位标识的状态为第二状态时,确定该数据块中的数据未被成功更新,执行步骤706。其中,第一数据对应的数据块可能是一个,也可能是多个;第一数据可能包括每个数据块的全部数据,也可能是每个数据块的部分数据。When the data block corresponding to the first data exists in the incremental data area, determining whether the data block corresponding to the first data is successfully updated according to the first bit identifier corresponding to the data block in the incremental data area. When the state of the first bit identifier of the data block is the first state, determining that the data in the data block is successfully updated,
步骤705、从所述增量数据区中获取所述第一数据,然后执行步骤714。Step 705: Acquire the first data from the incremental data area, and then perform
当第一位标识的状态为第一状态时,从所述增量数据区中获取所述第一数据。由于第一数据可能包括多个数据块,第一数据包括的多个数据块中的几个数据块,在增量数据区中的第一位标识为第一状态,则从增量数据区中获取这几个数据块的数据,执行步骤714;针对第一位标识的状态为第二状态的其他几个数据块,执行步骤706。When the state of the first bit identifier is the first state, the first data is obtained from the delta data area. Since the first data may include a plurality of data blocks, the first data includes a plurality of data blocks, and the first bit in the incremental data area is identified as the first state, and then from the incremental data area The data of the data blocks is obtained, and step 714 is performed. Step 706 is performed for the other data blocks whose status of the first bit is the second state.
当第一位标识的状态为第二状态时,从所述镜像数据区中读取所述第一数据,具有步骤如下:When the state of the first bit identifier is the second state, the first data is read from the mirror data area, and the steps are as follows:
步骤706、判断所述镜像数据区中是否存在所述第一数据,当存在时,则执行步骤707,当不存在时,则执行步骤709。Step 706: Determine whether the first data exists in the mirrored data area. If yes, execute
第一分流器M64在从镜像数据区读取第一数据之前,需要先判断镜像数据区中是否存在所述第一数据,当存在时,则执行步骤707,当不存在时,则执行步骤709。Before the first data is read from the mirrored data area, the first current divider M64 needs to determine whether the first data exists in the mirrored data area. If yes, step 707 is performed. If not, step 709 is performed. .
步骤707、判断所述第一数据对应的数据块的第二位标识的状态是否为第三状态,若是,则执行
步骤708;若否,则执行步骤709。Step 707: Determine whether the state of the second bit identifier of the data block corresponding to the first data is the third state, and if yes, execute
当镜像数据区中存在第一数据对应的数据块时,需要判断第一数据对应数据块中的数据是否有效,以保证反馈至目标应用的第一数据,可以支持目标应用的正常运行。具体的,可以根据镜像数据区中数据块的第二位标识的状态,判断镜像数据区中第一数据对应的数据块是否有效;当第二位标识的状态为第三状态时,则确定对应数据块中数据有效;当第二位标识的状态为第四状态时,则确定对应数据块中数据无效;其中,第三状态为第二位标识的有效状态,第四状态为第二位标识的无效状态。When the data block corresponding to the first data exists in the mirror data area, it is required to determine whether the data in the data block corresponding to the first data is valid, so as to ensure that the first data fed back to the target application can support the normal operation of the target application. Specifically, it is determined whether the data block corresponding to the first data in the mirrored data area is valid according to the status of the second bit identifier of the data block in the mirrored data area; and when the status of the second bit identifier is the third status, determining the corresponding The data in the data block is valid; when the state of the second bit identifier is the fourth state, it is determined that the data in the corresponding data block is invalid; wherein the third state is the valid state of the second bit identifier, and the fourth state is the second bit identifier Invalid state.
步骤708、从所述镜像数据区中获取所述第一数据,然后执行步骤714。Step 708: Acquire the first data from the mirrored data area, and then perform
当数据块对应的第二位标识的状态为第三状态时,从所述镜像数据区中获取所述第一数据。由于第一数据可能包括多个数据块,第一数据包括的多个数据块中的几个数据块,在镜像数据区中的第二位标识为第三状态,则从镜像数据区中获取这几个数据块的数据,执行步骤714;针对第二位标识的状态为第四状态的其他几个数据块,执行步骤709。When the state of the second bit identifier corresponding to the data block is the third state, the first data is obtained from the mirror data area. Since the first data may include a plurality of data blocks, the first data includes several of the plurality of data blocks, and the second bit in the mirrored data area is identified as the third state, and the data is obtained from the mirrored data area. For the data of several data blocks,
步骤709、从所述服务器的原始镜像包中获取所述第一数据。Step 709: Acquire the first data from an original image package of the server.
当第一分流器M64确定移动终端的本地缓存中,启动镜像包M68的增量数据区和镜像数据区中均不存在所述第一数据,或,存在部分所述第一数据,或,所述第一数据无效时,则可以从数据服务器的原始镜像包M67中获取所述第一数据。When the first shunt M64 determines that the local cache of the mobile terminal is in the incremental data area and the mirrored data area of the boot image package M68, the first data does not exist, or a part of the first data exists, or When the first data is invalid, the first data may be obtained from the original image package M67 of the data server.
步骤710、计算所述第一数据对应数据块的第一校验和,并在所述校验和数据库数据区中查询所述第一数据对应数据块的第二校验和。Step 710: Calculate a first checksum of the first data corresponding data block, and query a second checksum of the first data corresponding data block in the checksum database data area.
步骤711、将所述第一校验和与第二校验和进行匹配。Step 711: Match the first checksum with the second checksum.
由于网络的不稳定性,或者其他因素,可能导致从服务器中获取的第一数据可能是错误的,或者是不完整的;当从数据服务器的原始镜像包M67中获取到所述第一数据后,第一分流器M64需要对获取的第一数据进行校验,以判断从数据服务器中获取的第一数据是否正确;因此,计算获取的第一数据对应的数据块的第一校验和;并且在启动镜像包M68的校验和数据库数据区中查找,与所述第一数据对应的数据块的第二校验和。将第一校验和与第二校验和进行匹配,根据匹配的结果,判断从原始镜像包M67中获取的第一数据是否正确。Due to network instability or other factors, the first data obtained from the server may be wrong or incomplete; when the first data is obtained from the original image package M67 of the data server The first shunt M64 needs to check the obtained first data to determine whether the first data acquired from the data server is correct; therefore, calculating the first checksum of the data block corresponding to the acquired first data; And searching for a second checksum of the data block corresponding to the first data in the checksum database data area of the boot image package M68. The first checksum is matched with the second checksum, and based on the result of the matching, it is determined whether the first data acquired from the original image package M67 is correct.
步骤712、判断第一校验和与第二校验和是否匹配成功,若成功,则执行步骤713;若不成功,则执行步骤709。Step 712: Determine whether the first checksum and the second checksum are successfully matched. If successful, perform
判断第一校验和与第二校验和是否匹配成功,若匹配成功,则可以执行步骤713,若匹配不成功,则需要执行步骤709,即再次从服务器中获取所述第一数据,若多次从服务器获取的第一数据的第一校验和,与第二校验和匹配不成功时,则返回失败的信息至目标应用,执行结束的步骤。Determining whether the first checksum is successfully matched with the second checksum. If the match is successful,
步骤713、将所述第一数据保存至所述镜像数据区中,并设置所述第一数据对应数据块的第二位标识为第三状态。Step 713: Save the first data to the mirrored data area, and set a second bit identifier of the first data corresponding data block to a third state.
第一分流器M64将获取的第一数据返回至第一增量数据管理器M62之前,将第一数据保存至启动镜像包M68的镜像数据区中;并设置所述第一数据对应数据块的第二位标识为有效的状态,即第三状态。Before returning the acquired first data to the first incremental data manager M62, the first shunt M64 saves the first data in the mirror data area of the boot image package M68; and sets the first data corresponding data block The second bit is identified as a valid state, the third state.
步骤714、将所述第一数据反馈给所述目标应用。Step 714: Feed the first data to the target application.
若第一分流器M64获取的数据包括从启动镜像包M68中获取的数据,和,从原始镜像包M67中获取的数据,则将这两部分数据合并,返回至第一增量数据管理器M62;若第一分流器M64获取的数据只包括从启动镜像包M68中获取的数据,则将从启动镜像包M68中获取的数据返回至第一增 量数据管理器M62;若第一分流器M64获取的数据只包括从原始镜像包M67中获取的数据,则将从原始镜像包M67中获取的数据返回至第一增量数据管理器M62。若第一增量数据管理器M62从启动镜像包M68的增量数据区中获取了数据,则将这接收第一分流器M64发送的数据和从增量数据区中获取的两部分数据合并,返回至第一存储单元模拟器M61;若第一增量数据管理器M62只从第一分流器M64中获取了数据,则直接将获取的数据发送至第一存储单元模拟器M61;若第一增量数据管理器M62只从增量数据区中获取了数据,则直接将获取的数据发送至第一存储单元模拟器M61,第一存储单元模拟器M61通过第三通路S3,将所述读请求对应的第一数据反馈给目标应用。If the data acquired by the first shunt M64 includes data acquired from the boot image package M68, and data acquired from the original image package M67, the two pieces of data are merged and returned to the first incremental data manager M62. If the data acquired by the first shunt M64 includes only the data obtained from the boot image package M68, the data obtained from the boot image package M68 is returned to the first increase. The data manager M62; if the data acquired by the first shunt M64 includes only the data acquired from the original image package M67, the data acquired from the original image package M67 is returned to the first incremental data manager M62. If the first incremental data manager M62 acquires data from the incremental data area of the boot image package M68, merge the data sent by the first splitter M64 with the two pieces of data acquired from the incremental data area. Returning to the first storage unit simulator M61; if the first incremental data manager M62 only acquires data from the first flow divider M64, directly transmitting the acquired data to the first storage unit simulator M61; The incremental data manager M62 only obtains the data from the incremental data area, and directly sends the acquired data to the first storage unit simulator M61, and the first storage unit simulator M61 passes the read through the third path S3. The corresponding first data is requested to be fed back to the target application.
优选的,本发明实施例的所述服务器SE可以包括配置服务器SE1和数据服务器SE2,其中,配置服务器SE1用于存储各种不同的目标应用的配置信息,数据服务器SE2用于存储不同目标应用的原始镜像包M67和启动镜像包M68以及启动运行包M65;建立本地缓存管理器M6与服务器SE的第二通路包括:建立第一应用管理器M6A与配置服务器SE1的第四通路S21,然后,第一应用管理器M6A根据目标应用的标识,从配置服务器SE1中获取与所述目标应用的标识对应的第一配置信息和校验和数据库数据区。建立本地缓存管理器M6与服务器SE的第二通路还包括:建立第一分流器M64与数据服务器SE2之间的第五通路S22;具体的,第一分流器M64根据获取的第一配置信息,在数据服务器SE2中查找与配置信息对应的原始镜像包M67,然后与所述原始镜像包M67进行连接。本发明实施例在建立本地缓存管理器M6与启动镜像包M68的通路之前,需要在本地缓存中查找与启动运行包M65对应的启动镜像包,具体的,第一应用管理器M6A根据启动运行包M65中目标应用的标识,在本地查找与目标应用的标识对应的启动镜像包,然后从所述启动镜像包中获取第二配置信息,将第二配置信息和从配置服务器SE1中获取的第一配置信息进行对比,当两者匹配时,则将所述启动镜像包确定为目标应用的启动镜像包M68。当匹配不成功时,则可以在本地重新查找与目标应用的标识对应的启动镜像包。Preferably, the server SE of the embodiment of the present invention may include a configuration server SE1 for storing configuration information of various different target applications, and a data server SE2 for storing different target applications. The original image package M67 and the startup image package M68 and the startup operation package M65; the second path of establishing the local cache manager M6 and the server SE includes: establishing a fourth path S21 of the first application manager M6A and the configuration server SE1, and then, An application manager M6A acquires first configuration information and a checksum database data area corresponding to the identifier of the target application from the configuration server SE1 according to the identifier of the target application. The second path of the local cache manager M6 and the server SE is further configured to: establish a fifth path S22 between the first splitter M64 and the data server SE2; specifically, the first splitter M64 is configured according to the acquired first configuration information. The original image package M67 corresponding to the configuration information is searched in the data server SE2, and then connected to the original image package M67. In the embodiment of the present invention, before the path of the local cache manager M6 and the boot image package M68 is established, the boot image package corresponding to the boot package M65 needs to be searched in the local cache. Specifically, the first application manager M6A runs the package according to the startup. The identifier of the target application in the M65 is locally searched for the startup image package corresponding to the identifier of the target application, and then the second configuration information is obtained from the startup image package, and the second configuration information and the first obtained from the configuration server SE1 are obtained. The configuration information is compared. When the two match, the startup image package is determined as the startup image package M68 of the target application. When the match is unsuccessful, the boot image package corresponding to the identifier of the target application can be newly found locally.
本发明实施例所述第一数据、第二数据等相关数据,可以,以固定大小(8KB、16KB、64KB等)数据块集合的形式实现,也可以,以数据范围的形式实现,比如建立数据描述符记录数据起始偏移(StartOffset),数据大小(Size)来描述该数据对应的范围。The first data, the second data, and the like related data in the embodiment of the present invention may be implemented in the form of a fixed size (8 KB, 16 KB, 64 KB, etc.) data block set, or may be implemented in the form of a data range, such as establishing data. The descriptor records the data start offset (StartOffset) and the data size (Size) to describe the range corresponding to the data.
本发明实施例中,若目标应用需要升级时,只需按照上述实施例中制作原始镜像包M27的过程,将目标应用需要升级的所有的数据,拷贝至升级原始镜像包中;然后按照上述目标应用启动镜像包M48的制作过程,制作升级数据的升级启动镜像包;当用户在移动终端中选择升级时,移动终端只需从服务器中直接下载升级启动镜像包;在目标应用启动时,除了建立上述数据通路外,再建立本地缓存管理器与升级启动镜像包的第六通路;以及建立本地缓存管理器与服务器中升级原始镜像包的第七通路;在目标应用运行的过程中,若请求为读请求时,先从本地的升级启动镜像包和/或升级原始镜像包中获取读请求对应的数据;当本地缓存管理器在升级启动镜像包和/或升级原始镜像包中,没有获取到对应的数据,或者只能获取部分数据时;则从本地启动镜像包和/或原始镜像包获取对应的数据;具体的,从本地的升级启动镜像包和/或升级原始镜像包中,获取对应的数据的步骤与上述步骤703-712相同,此处不再赘述。In the embodiment of the present invention, if the target application needs to be upgraded, all the data that needs to be upgraded by the target application is copied to the upgrade original image package according to the process of creating the original image package M27 in the above embodiment; Applying the startup image package M48 to create an upgrade boot image package for the upgrade data; when the user selects the upgrade in the mobile terminal, the mobile terminal only needs to download the upgrade boot image package directly from the server; when the target application starts, in addition to establishing In addition to the above data path, the sixth path of the local cache manager and the upgrade boot image package is established; and the seventh path of the local cache manager and the upgrade original image package in the server is established; in the process of running the target application, if the request is When the request is read, the data corresponding to the read request is obtained from the local upgrade boot image package and/or the upgrade original image package; when the local cache manager upgrades the boot image package and/or upgrades the original image package, the corresponding response is not obtained. Data, or only when part of the data is obtained; then the image package is started locally and / Acquiring original image data corresponding to the packet; the same particular local boot image upgrade package and / or the step of upgrading the original image package, the corresponding data is acquired from the above-mentioned steps 703-712 will not be repeated here.
若后续目标应用升级的次数较多时,可以将所有升级的数据生成一个升级原始镜像包,也可以将所有升级的数据和原始数据合并,将合并的数据包作为原始数据包,然后重新制作原始镜像包和启动镜像包。If the number of subsequent target application upgrades is large, you can generate an upgrade original image package for all upgraded data, or merge all upgraded data with the original data, use the merged data packet as the original data package, and then re-create the original image. Package and boot image package.
各种大型的应用程序如网游,PS等,可以利用本发明实施例的一种应用运行系统和方法,可以 在未安装该应用程序的移动终端上启动并运行,以网游A为例,具体的,在未安装网游A的移动终端上,获取网游A的APP Launcher,以及网游A的启动镜像包,启动镜像包中只包含网游A启动时的数据和网游A运行至第5个关卡时的数据;用户可以通过点击APP Launcher启动网游A,在启动网游A时,建立本地缓存管理器和创建第一虚拟存储单元;以及建立上述第一通路、第二通路和第三通路,当用户在网游A中进行注册时,网游A向第一虚拟存储单元发送写请求;本地缓存管理器通过第三通路获取所述写请求后,将用户注册的信息写入启动镜像包的增量数据区中;在网游A启动至运行至第5关时,本地缓存管理器通过第一通路,从启动镜像包中获取网游A所需要的所有数据,并通过第三通路将获取的数据反馈给网游A;当网游A运行至第6关时,则本地缓存管理器通过第二通路,从服务器的原始镜像包中获取第6关的数据,并通过第三通路将获取的数据反馈给网游A;并将第6关的数据保存在启动镜像包中;从而实现了在网游A运行的同时,制作网游A的启动镜像包。当再一次启动网游A后,网游A运行至第6关时,本地缓存管理器可以从本地的启动镜像包中获取网游A的第6关所需要的数据。若对网游A的第1、5、10关进行了升级;则可以将网游A的第1、5、10关对应的升级后的数据,制作成升级原始镜像包,以及对应的升级启动镜像包;将升级原始镜像包存储在服务器上,将升级启动镜像包存储在,具有网游A的启动镜像包的移动终端上;此时,在该移动终端上可以运行升级后的网游A。Various large-scale applications, such as online games, PS, etc., may utilize an application running system and method according to an embodiment of the present invention. Start and run on the mobile terminal that does not have the application installed. Take online game A as an example. Specifically, on the mobile terminal that does not have online game A installed, obtain the APP Launcher of online game A, and the startup image package of online game A, and start the image. The package only contains the data when the online game A starts and the data when the online game A runs to the fifth level; the user can start the online game A by clicking the APP Launcher, and when the online game A is started, the local cache manager is created and the first virtual storage is created. a unit; and establishing the first path, the second path, and the third path, when the user registers in the online game A, the online game A sends a write request to the first virtual storage unit; the local cache manager acquires the After the request is written, the information registered by the user is written into the incremental data area of the startup image package; when the online game A is started to run to the fifth level, the local cache manager obtains the online game A from the startup image package through the first path. All the data needed, and the data obtained through the third path is fed back to the online game A; when the online game A runs to the sixth level, the local cache manager passes the second pass. The road obtains the data of the sixth level from the original image package of the server, and feeds the acquired data to the online game A through the third path; and saves the data of the sixth level in the startup image package; thereby realizing the online game A At the same time of operation, make a boot image package for online game A. When the online game A is started again, when the online game A runs to the sixth level, the local cache manager can obtain the data required for the sixth level of the online game A from the local startup image package. If the first, fifth, and tenth levels of the online game A are upgraded, the upgraded data corresponding to the first, fifth, and tenth levels of the online game A can be made into an upgrade original image package, and the corresponding upgrade startup image package. The upgraded original image package is stored on the server, and the upgraded startup image package is stored on the mobile terminal having the startup image package of the online game A; at this time, the upgraded online game A can be run on the mobile terminal.
本发明实施例可以在目标运行的过程中,一方面可以通过从启动镜像包和/或原始镜像包中获取数据,以保证目标应用的正常运行;另一方面可以将从原始镜像包中获取的数据保存在启动镜像包中,从而在目标应用下次运行需要该数据时,可以从本地缓存中的启动镜像包中直接获取数据,保证了目标应用运行的流畅性。此外,在目标应用升级时,只需获取升级原始镜像包和升级启动镜像包,在运行目标应用时,即可完成目标应用的升级,大大提高了目标应用升级的效率,节约了成本。In the process of the target operation, the data may be obtained from the startup image package and/or the original image package to ensure the normal operation of the target application; on the other hand, the original image package may be obtained from the original image package. The data is saved in the boot image package, so that when the target application needs the data for the next run, the data can be directly obtained from the boot image package in the local cache, ensuring the smooth running of the target application. In addition, when upgrading the target application, you only need to obtain the upgrade original image package and the upgrade startup image package. When the target application is run, the target application can be upgraded, which greatly improves the efficiency of the target application upgrade and saves costs.
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。The various embodiments in the present specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments can be referred to each other.
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art will appreciate that embodiments of the embodiments of the invention may be provided as a method, apparatus, or computer program product. Thus, embodiments of the invention may be in the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, embodiments of the invention may take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
例如,图8示出了可以实现根据本发明的镜像包制作、应用运行方法的计算设备,所述计算设备包括:应用原始镜像包制作方法的计算设备、应用启动镜像包制作方法的计算设备、以及应用运行方法的计算设备。该计算设备传统上包括处理器810和以存储器820形式的程序产品或者可读介质。存储器820可以是诸如闪存、EEPROM(电可擦除可编程只读存储器)、EPROM或者ROM之类的电子存储器。存储器820具有用于执行上述方法中的任何方法步骤的程序代码831的存储空间830。例如,用于程序代码的存储空间830可以包括分别用于实现上面的方法中的各种步骤的各个程序代码831。这些程序代码可以从一个或者多个程序产品中读出或者写入到这一个或者多个程序产品中。这些程序产品包括诸如存储卡之类的程序代码载体。这样的程序产品通常为如参考图9所述的便携式或者固定存储单元。该存储单元可以具有与图8的计算设备中的存储器820类似布置的存储段、存储空间等。程序代码可以例如以适当形式进行压缩。通常,存储单元包括可读代码831’,即可以由例如诸如810之类的处理器读取的代码,这些代码当由计算设备运行时,导致该计算设备执行上面所描述的方法中的各个步骤。
For example, FIG. 8 shows a computing device that can implement the image package creation and application running method according to the present invention, and the computing device includes: a computing device that applies an original image package making method, a computing device that uses an application boot image package manufacturing method, And computing devices that apply the method of operation. The computing device conventionally includes a
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读取存储介质中,比如ROM/RAM、磁碟、光盘等。One of ordinary skill in the art can understand that all or part of the steps of implementing the foregoing embodiments may be completed by a program to instruct related hardware, and the program may be stored in a computer readable storage medium, such as a ROM/RAM or a disk. , CD, etc.
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。Embodiments of the invention are described with reference to flowchart illustrations and/or block diagrams of methods, terminal devices (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or FIG. These computer program instructions can be provided to a processor of a general purpose computer, special purpose computer, embedded processor or other programmable data processing terminal device to produce a machine such that instructions are executed by a processor of a computer or other programmable data processing terminal device Means are provided for implementing the functions specified in one or more of the flow or in one or more blocks of the flow chart.
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。The computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing terminal device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device. The instruction device implements the functions specified in one or more blocks of the flowchart or in a flow or block of the flowchart.
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing terminal device such that a series of operational steps are performed on the computer or other programmable terminal device to produce computer-implemented processing, such that the computer or other programmable terminal device The instructions executed above provide steps for implementing the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。While a preferred embodiment of the present invention has been described, it will be apparent that those skilled in the art can make further changes and modifications to the embodiments. Therefore, the appended claims are intended to be interpreted as including the preferred embodiments and the modifications and
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。Finally, it should also be noted that in this context, relational terms such as first and second are used merely to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply these entities. There is any such actual relationship or order between operations. Furthermore, the terms "comprises" or "comprising" or "comprising" or any other variations are intended to encompass a non-exclusive inclusion, such that a process, method, article, or terminal device that includes a plurality of elements includes not only those elements but also Other elements that are included, or include elements inherent to such a process, method, article, or terminal device. An element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or terminal device that comprises the element, without further limitation.
以上对本发明所提供的一种镜像包制作、应用运行方法和一种镜像包制作、应用运行系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。 The above describes a mirror package creation, application operation method, and an image package creation and application operation system provided by the present invention. The principle and implementation manner of the present invention are described in the following. The description of the embodiments is only for helping to understand the method of the present invention and its core ideas; at the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific embodiments and application scopes. The description herein is not to be construed as limiting the invention.
Claims (30)
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201611048255.0A CN108089890B (en) | 2016-11-21 | 2016-11-21 | It is a kind of that operation method and system are applied based on disk |
| CN201611048255.0 | 2016-11-21 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018090528A1 true WO2018090528A1 (en) | 2018-05-24 |
Family
ID=62145214
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2017/078722 Ceased WO2018090528A1 (en) | 2016-11-21 | 2017-03-30 | Method and system for mirror image package preparation and application operation |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108089890B (en) |
| WO (1) | WO2018090528A1 (en) |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112347167A (en) * | 2020-09-30 | 2021-02-09 | 长沙市到家悠享网络科技有限公司 | Data processing method and device, electronic equipment and storage medium |
| CN112667361A (en) * | 2020-12-31 | 2021-04-16 | 北京北信源软件股份有限公司 | Management method and device based on system virtual machine, electronic equipment and storage medium |
| CN112764814A (en) * | 2021-01-13 | 2021-05-07 | 惠州Tcl移动通信有限公司 | Method, device, terminal and medium for setting and processing boot memory of mobile terminal |
| CN112925536A (en) * | 2021-03-26 | 2021-06-08 | 平安科技(深圳)有限公司 | Virtual machine system mirror image processing method, device, equipment and storage medium |
| CN113972989A (en) * | 2020-07-06 | 2022-01-25 | 宇龙计算机通信科技(深圳)有限公司 | Data verification method, device, storage medium and electronic device |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115048149A (en) | 2022-05-23 | 2022-09-13 | 杨正 | Application cache scalable processing method, device, equipment and medium |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102135892A (en) * | 2010-01-22 | 2011-07-27 | 北京金山数字娱乐科技有限公司 | Application program running method, device and system |
| WO2012146985A2 (en) * | 2011-04-28 | 2012-11-01 | Approxy Inc. Ltd. | Adaptive cloud-based application streaming |
| CN104391719A (en) * | 2014-11-24 | 2015-03-04 | 上海盈方微电子有限公司 | Compiling-free fast mirror image customizing method based on Android platform |
| CN105320578A (en) * | 2015-11-09 | 2016-02-10 | 青岛海信移动通信技术股份有限公司 | Method and apparatus for backing up and recovering APP |
| CN105988809A (en) * | 2015-02-13 | 2016-10-05 | 广州四三九九信息科技有限公司 | Online loading method for game resources and micro-end engine |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4833541B2 (en) * | 2004-12-08 | 2011-12-07 | 株式会社日立製作所 | Deployment method, program, and server system |
| CN101452402B (en) * | 2008-11-28 | 2012-05-30 | 珠海金山快快科技有限公司 | Software operation system and software operation method |
| CN101916172B (en) * | 2010-08-17 | 2011-08-24 | 中国人民解放军国防科学技术大学 | An On-demand Software Distribution Method Based on Logical Partition of Virtual Disk Image |
| CN102402446B (en) * | 2011-11-22 | 2014-12-17 | 华为数字技术(成都)有限公司 | Application software installation method and application software installation device |
-
2016
- 2016-11-21 CN CN201611048255.0A patent/CN108089890B/en active Active
-
2017
- 2017-03-30 WO PCT/CN2017/078722 patent/WO2018090528A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102135892A (en) * | 2010-01-22 | 2011-07-27 | 北京金山数字娱乐科技有限公司 | Application program running method, device and system |
| WO2012146985A2 (en) * | 2011-04-28 | 2012-11-01 | Approxy Inc. Ltd. | Adaptive cloud-based application streaming |
| CN104391719A (en) * | 2014-11-24 | 2015-03-04 | 上海盈方微电子有限公司 | Compiling-free fast mirror image customizing method based on Android platform |
| CN105988809A (en) * | 2015-02-13 | 2016-10-05 | 广州四三九九信息科技有限公司 | Online loading method for game resources and micro-end engine |
| CN105320578A (en) * | 2015-11-09 | 2016-02-10 | 青岛海信移动通信技术股份有限公司 | Method and apparatus for backing up and recovering APP |
Cited By (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113972989A (en) * | 2020-07-06 | 2022-01-25 | 宇龙计算机通信科技(深圳)有限公司 | Data verification method, device, storage medium and electronic device |
| CN113972989B (en) * | 2020-07-06 | 2023-09-15 | 宇龙计算机通信科技(深圳)有限公司 | Data verification methods, storage media, and electronic equipment |
| CN112347167A (en) * | 2020-09-30 | 2021-02-09 | 长沙市到家悠享网络科技有限公司 | Data processing method and device, electronic equipment and storage medium |
| CN112667361A (en) * | 2020-12-31 | 2021-04-16 | 北京北信源软件股份有限公司 | Management method and device based on system virtual machine, electronic equipment and storage medium |
| CN112667361B (en) * | 2020-12-31 | 2023-10-17 | 北京北信源软件股份有限公司 | Management method and device based on system virtual machine, electronic equipment and storage medium |
| CN112764814A (en) * | 2021-01-13 | 2021-05-07 | 惠州Tcl移动通信有限公司 | Method, device, terminal and medium for setting and processing boot memory of mobile terminal |
| CN112764814B (en) * | 2021-01-13 | 2023-11-10 | 西藏子墨网络科技有限公司 | Method, device, terminal and medium for setting starting memory of mobile terminal |
| CN112925536A (en) * | 2021-03-26 | 2021-06-08 | 平安科技(深圳)有限公司 | Virtual machine system mirror image processing method, device, equipment and storage medium |
| CN112925536B (en) * | 2021-03-26 | 2024-05-10 | 平安科技(深圳)有限公司 | Virtual machine system mirror image processing method, device, equipment and storage medium |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108089890A (en) | 2018-05-29 |
| CN108089890B (en) | 2019-09-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018090529A1 (en) | Method and system for mirror image package preparation and application operation | |
| WO2018090528A1 (en) | Method and system for mirror image package preparation and application operation | |
| US10838751B1 (en) | Virtual machine configuration | |
| US10929149B2 (en) | Method and system for updating firmware | |
| CN103677915B (en) | A method of card is started based on TF and carries out the automatic programming of flash mirror | |
| CN105335253A (en) | Method and device for creating virtual machine system disk snapshots | |
| CN102402446A (en) | Application software installation method and application software installation device | |
| CN106095530A (en) | The container of a kind of many android system automatically creates and startup method | |
| CN111679889B (en) | Conversion migration method and system of virtual machine | |
| CN114020621B (en) | Debugging method, electronic device and storage medium | |
| JP7410268B2 (en) | Methodology for container-based virtualization systems | |
| CN115543526B (en) | Control method and electronic equipment | |
| CN104182257A (en) | Application software installation method and device | |
| CN114756290B (en) | Operating system installation method, device and readable storage medium | |
| CN104866324A (en) | Method for constructing portable operating system and portable memorizer | |
| WO2024174904A1 (en) | Management migration method and apparatus for container instance, and electronic device and storage medium | |
| TWI777636B (en) | Method, device, and computer program product for composing modular firmware | |
| CN102023857B (en) | ServiceOS-based multi-platform application program service management method and system | |
| CN113296891B (en) | Platform-based multi-scenario knowledge graph processing method and device | |
| CN114237814A (en) | Virtual machine migration method, apparatus and computer equipment across virtualization platforms | |
| CN116483382A (en) | Bare metal deployment method, device and medium thereof | |
| WO2022199335A1 (en) | Method, apparatus and device for controlling firmware upgrade of server component, and storage medium | |
| CN112804375B (en) | A configuration method for single network card and multiple IPs | |
| WO2020113382A1 (en) | Hardware upgrading method, apparatus and device, and storage medium | |
| CN118963819A (en) | Software package construction method, device, computer equipment and 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: 17871265 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17871265 Country of ref document: EP Kind code of ref document: A1 |