WO2021226965A1 - 资源处理方法、装置、电子设备和存储介质 - Google Patents
资源处理方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- WO2021226965A1 WO2021226965A1 PCT/CN2020/090361 CN2020090361W WO2021226965A1 WO 2021226965 A1 WO2021226965 A1 WO 2021226965A1 CN 2020090361 W CN2020090361 W CN 2020090361W WO 2021226965 A1 WO2021226965 A1 WO 2021226965A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- application
- package
- dynamic
- terminal
- Prior art date
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 18
- 238000012545 processing Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 5
- 238000010276 construction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 230000007246 mechanism Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Definitions
- the embodiments of the present disclosure relate to the field of computer technology, and more specifically, to a resource processing method, a resource processing device, an electronic device, and a computer-readable storage medium.
- the application packaging method represented by application clusters can be used to greatly reduce the size of the application.
- the embodiments of the present disclosure provide a resource processing method, a resource processing device, an electronic device, and a computer-readable storage medium, which can solve the problem of poor accuracy on a certain program.
- a resource processing method which includes: receiving application information of an application installed on the terminal reported by a terminal; and constructing a dynamic modularization button based on the application information.
- a resource processing device including: an information acquisition module for receiving application information of an application program installed on the terminal reported by the terminal; an index library construction module for receiving application information based on the application Information to construct a resource index library for determining the dynamic modular on-demand loading resource package; the resource distribution module is used to distribute the dynamic modular on-demand loading resource package contained in the application bundle based on the resource index library .
- a computer-readable storage medium on which a computer program is stored, and when the computer program is executed by a processor, the resource processing method described in any one of the above is implemented.
- an electronic device including: a processor; and a memory for storing executable instructions of the processor; wherein the processor is configured to execute by executing the executable instructions The resource processing method described in any one of the above.
- the technical solutions in the embodiments of the present disclosure can construct a resource index library by using the application information uploaded by the terminal, and then determine whether the application bundle includes a dynamic modular load-on-demand resource package based on the resource index library, which can be effective Distinguish application bundles.
- you can get the dynamic modularity to load resource packs on demand so you can use the application's dynamic modularity to load resource packs on demand.
- the terminal the limitation of not being able to use dynamic modularization to load resource packages on demand is avoided, the complete functions of the module can be obtained, and the terminal can also obtain a suitable and accurate application package, which improves accuracy.
- Fig. 1 shows a schematic diagram of a system architecture of an embodiment of the present disclosure.
- Fig. 2 shows a schematic flowchart of a resource processing method according to an embodiment of the present disclosure.
- Fig. 3 shows a schematic structural diagram of a resource index library according to an embodiment of the present disclosure.
- Fig. 4 shows a schematic diagram of an application scenario of an embodiment of the present disclosure.
- Fig. 5 shows a processing flowchart of loading resource packages on demand for non-dynamic modularization according to an embodiment of the present disclosure.
- Fig. 6 shows a processing flow chart of the dynamic modular on-demand loading resource package according to the embodiment of the present disclosure.
- Fig. 7 shows another processing flow chart of the dynamic modular on-demand loading resource package according to the embodiment of the present disclosure.
- Fig. 8 shows another processing flow chart of the dynamic modular on-demand loading resource package according to the embodiment of the present disclosure.
- Fig. 9 shows a schematic structural diagram of a resource processing apparatus according to an embodiment of the present disclosure.
- FIG. 10 shows a schematic diagram of an electronic device for implementing the resource processing method of an embodiment of the present disclosure.
- FIG. 1 schematically shows a system architecture diagram of the method of an embodiment of the present disclosure.
- the system architecture 100 may include a first end 101, a network 102 and a second end 103.
- the first terminal 101 may be a client, for example, various handheld devices (smart phones), tablet computers, desktop computers, in-vehicle devices, wearable devices, etc., capable of downloading and installing application programs.
- the network 102 is used to provide the medium of the communication link between the first end 101 and the second end 103.
- the network 102 may include various connection types, such as wired communication links, wireless communication links, etc., in the embodiments of the present disclosure.
- the network 102 between the first end 101 and the second end 103 may be a wired communication link, for example, a communication link may be provided through a serial port cable, or may be a wireless communication link, and a communication link may be provided through a wireless network.
- the second end 103 may be a client terminal, such as a portable computer, a desktop computer, a smart phone, and other terminal devices with data processing functions, which are used for data processing. Wherein, when the first end and the second end are both clients, they may be the same client.
- the second end may also be a server, such as a local server or a cloud server, etc., which is not limited here.
- the resource processing method provided by the embodiment of the present disclosure can be completely executed by the second end, and accordingly, the resource processing device can be set in the second end 103.
- FIG. 2 schematically shows a flowchart of a resource processing method in an embodiment of the present disclosure. With reference to Fig. 2, it mainly includes step S210 to step S230. The detailed description is as follows:
- step S210 the application information of the application program installed in the terminal reported by the terminal is received.
- a terminal refers to any one or more terminals
- an application program refers to all application programs installed on each terminal, such as application 1, application 2, and so on.
- the application program may be an application downloaded from any channel, for example, it may be downloaded from an application store of the terminal itself or a third party.
- Application information refers to all information related to the application, which can be used to describe information such as the download of the resource package of the application.
- the application information may include, but is not limited to, attribute information and resource information.
- the attribute information refers to the attribute information of the dynamic module of the preset application (download attributes on demand)
- the resource information refers to the package name and version number (software version number and hardware version number) corresponding to the resource package, and the resource package The name of the file contained in it, etc.
- the application information can be uploaded to the server by the terminal through the check update interface.
- the specific process for the terminal to determine the application information may include: Step 1, scanning the dynamic module catalog of the preset application, and scanning the application list of each dynamic module one by one.
- the default application refers to the bundle application.
- Bundle is an application file format (new upload format), the suffix is aab. It contains code and resource files. It contains many resource sub-files, such as pictures, audio, or video, and so on.
- the bundle package is convenient for referencing the resources in the package in other projects.
- the check update module in the terminal scans the dynamic module directory (split directory) of the preset application when scanning the application program installed through any channel.
- the application list here can be represented by manifest.xml.
- the application list contains the configuration information of the application. The system needs to run the code of the application according to the configuration information and display the interface based on this.
- Step 2 If it is scanned that there is an on-demand download attribute in the application list, provide resource tag information for representing the dynamic modular on-demand loading resource package, and determine the resource information of the dynamic modular on-demand download resource. If you find this attribute in the application list, you can add resource tag information in the check update interface.
- the resource tag information can be used to mark the resource (the resource of the preset application) as a dynamic modularized load resource package dynamic_split on demand.
- the resource tag information can be represented by data or an identifier, and there is no special restriction here. At the same time, resource information corresponding to the resource of the preset application can also be provided.
- the resource information can include but is not limited to information such as the package name, version number, and file name of the resource package, so as to combine with attribute information to obtain application information.
- the client After the client obtains the application information, it can upload it to the server through the check and update interface, so that based on the user data on the terminal, the server realizes a dynamic modular and on-demand sharing mechanism of loading resource packages by uploading the data.
- step S220 according to the application information, a resource index library for determining dynamic modular on-demand loading resources is constructed.
- the server can construct a resource index library according to the application information.
- the resource index library here can be understood as a database, which is used to store a variety of resource packages corresponding to the version of the terminal.
- the resource index library may be a bundle resource index library, which is used to assist the resource side of the server to confirm whether the application bundle obtained by capturing the package is a dynamic modular on-demand loading resource package (dynamic_split resource) in response to the application bundle obtained by the packet capture.
- the dynamic modular on-demand loading resource package can be part of the function of the application package, which is downloaded according to user needs.
- resource index library For the resource index library, all resource packages of the terminal corresponding to model 1 can be stored therein, and all resource packages of the terminal corresponding to model 2 can also be stored.
- the resource index library it can be constructed for different version numbers of different terminals, and the directories corresponding to different types of terminals may be completely different. And the different version numbers of the terminal of the same model correspond to a directory, and the file names in different directories are different.
- the model, version number, package name, and file name of the terminal can be associated with each other to establish the resource index library.
- a resource index library Through the establishment of a resource index library, a large number of file names can be stored, so as to accurately determine whether a resource is a dynamic modularized resource package on demand according to the resource index library, thereby realizing the function of accurately determining the type of each resource, which can be used in the resource index library.
- it is judged whether it carries a dynamic modular on-demand loading resource package, so as to make an accurate distinction. It can speed up the retrieval speed of the resource package, realize the integrity of the data, and improve the performance of the resource package storage.
- the version numbers are facebook1.0, facebook2.0, and facebook3.0 respectively.
- the directory corresponding to each version number can contain multiple file names, and the multiple file names can be the same or different, and the specific parameters corresponding to the same file name can also be the same or different.
- the directory corresponding to facebook1.0 can include but not limited to split_config.apk, split_hdpi.apk, split_arm64.apk, split_xxx.apk, etc.
- the application store includes multiple dynamic module application packages, namely split apks.
- the split apks mechanism is a basic component of dynamic distribution, and bundles are generally used to dynamically distribute applications.
- the split apks may include, for example, file names included in the resource index library.
- the terminal downloads each of the most suitable split apks, and the Android platform can treat multiple split apks that have been installed as one application.
- the application service model name of the application store uses application bundles to generate and provide optimized application package apk for each user's device configuration, so users only need to download the code and resources needed to run the application. There is no need to compile, sign and manage multiple apks to support different devices, and users can also get a smaller and more optimized download file package.
- step S230 based on the resource index library, the dynamic modular on-demand loading resource package included in the application bundle is distributed.
- the application bundle can be a resource package corresponding to any application.
- the application bundle package can include dynamic modular on-demand loading resource package dynamic_split, or non-dynamic modular on-demand loading resource package (ie non-dynamic_split), whether it contains dynamic modular on-demand loading resource package can be based on the resource index library And make judgments.
- these resource packs can be distributed through three different stages. Specifically, in the first stage, the non-dynamic_split package resources are distributed to provide the ability to distribute the entire package of the application bundle app bundle (not for the model, system version, and screen resolution. All application package apks are distributed to users for installation, mainly Ability to make up).
- the second stage is to flexibly distribute non-dynamic_split package resources (provide flexible split package distribution capabilities, distribute appropriate resource apkl for different models, system versions, and screen resolutions).
- the distribution includes dynamic_split resources. If there is a dynamic_split package in the resource background, dynamic_split will be issued at the same time as the resource is distributed; if the resource background is not available, it will self-update through the wireless network to complement the download of resources.
- the processing process can be as shown in Figure 5, which specifically includes the following steps:
- Step S510 It is judged whether the time when the application bundle exists in the resource index library satisfies the time condition; if yes, go to step S520; if not, end.
- Step S520 Match the application bundle with the dynamic modular on-demand loading resource package in the resource index library to determine whether the application bundle belongs to the dynamic modular on-demand loading resource package. If not, go to step S530.
- Step S530 Put the application bundle package on the shelf to distribute the non-dynamic modular on-demand loading resource package.
- the app bundle package resource (application bundle) that is captured and stored in the database
- the application bundle is retrieved according to the resource index database whether the application bundle is a dynamic modularized on-demand loading resource package.
- Packet capture refers to the use of multiple terminals to continuously request to download application packages.
- the time condition here may be exceeding a time threshold (for example, more than 7 days) to ensure the accuracy of the resource index library. If the time exceeds 7 days, you can continue to determine whether the application bundle package is a dynamic modular on-demand loading resource package.
- the application cluster package can be matched with all dynamic modular on-demand loading resource packages in the resource index library to determine whether the application cluster package belongs to Dynamic modular load resource packs on demand.
- the attribute information of the application bundle matches the attribute information of the resource in the resource index library, it can be determined that the two match successfully.
- the application bundle may be put on the shelf. That is, if it can be accurately determined that the resource is a non-dynamic_split package, the resource will be put on the shelf.
- FIG. 6 schematically shows a flow chart of distributing a dynamic modular on-demand loading resource package. Refer to Figure 6, which mainly includes the following steps:
- step S610 all applications installed in the terminal are automatically scanned.
- step S620 it is determined whether the application bundle includes a dynamic modular on-demand loading resource package. If yes, go to step S630; if no, end.
- step S630 in response to the query request sent by the terminal, in order to determine whether there is a dynamic modular on-demand loading resource package on the server according to the result of the query request. If not, go to step S640; if yes, go to step S650.
- step S640 if the query request result is that the dynamic modular on-demand loading resource package does not exist on the server, the application bundle uploaded by the terminal is received to perform a distribution operation.
- step S650 if the query request result is that it is determined that the dynamic modular on-demand loading resource package exists on the server side, stop uploading the application bundle package through the terminal to perform the distribution operation.
- a terminal corresponding to an application store when the terminal is turned on, all installed applications on the terminal are automatically scanned. While scanning the installed applications, scan whether there are dynamic modular on-demand loading resource packages in the application bundle package (app bundle package). If you have the dynamic_split package, request the server to obtain the result of the query request that contains the dynamic modular on-demand loading resource package or does not include the dynamic modular on-demand loading resource package to determine whether to upload the application bundle according to the query request result Bag. If the server does not have this package, the terminal needs to upload the dynamic modular on-demand loading resource package to the server, so the server can receive the application bundle package uploaded by the terminal to perform the distribution operation. If this package exists on the server, there is no need for the terminal to upload the dynamic modular on-demand loading resource package to the server. Therefore, the terminal stops uploading, and the server cannot receive the application bundle package, so that the terminal upload cannot be used for distribution operations.
- the application bundle package application bundle package
- FIG. 7 schematically shows another flow chart of using an application distribution strategy based on user shared resources to distribute a dynamic modular on-demand loading resource package.
- Step S710 For the terminal that has installed the application bundle package that does not include the dynamic modular on-demand loading resource package, distribute the dynamic modular on-demand loading resource package of the application bundle to the terminal in an automatic update mode;
- Step S720 For the terminal that has not installed the application bundle package that does not include the dynamic modular on-demand loading resource package, directly distribute all the application package.
- automatic update is used to distribute the dynamic modular on-demand loading resource package of resource A to users. That is, if it is updated to the dynamic modular on-demand loading resource package corresponding to the resource A, it can be pushed to the terminal.
- all application packages are directly distributed to the terminals and all packages include dynamic modular on-demand loading resource packages.
- FIG. 8 schematically shows another flow chart of using an application distribution strategy based on user shared resources to distribute dynamic modular on-demand loading resource packages.
- FIG. 8 which mainly includes the following steps:
- Step S810 detecting whether the server has obtained the dynamic modularized on-demand loading resource package of the application bundle
- Step S820 if not, all application packages except the dynamic modular on-demand loading resource package are distributed to the terminal, and the dynamic modular on-demand loading resource package is distributed through an automatic update method;
- Step S830 if yes, distribute all application packages including the dynamic modular on-demand loading resource package to the terminal.
- the server if it is detected that the server has not obtained the dynamic modularized on-demand loading resource package of the application bundle reported by the user through the terminal, the server will first load all applications except the dynamic modularized on-demand loading resource package The program package is distributed to the requesting terminal; then it is distributed after the resource package is loaded on-demand by dynamic modularization through an automatic update method. If it is detected that the server has obtained the dynamic modular on-demand loading resource package of the application bundle reported by the user through the terminal, it will directly distribute all application packages to the requesting terminal, and all application packages include the dynamic modular on-demand loading resource package .
- the application package to be distributed to the terminal is determined according to whether the server contains a dynamic modularized on-demand loading resource package, so as to ensure the integrity and accuracy of the distributed resource package.
- the technical solution in the embodiment of the present disclosure can construct a resource index library by using the application information uploaded by the terminal, and then determine whether the application bundle includes a dynamic modular on-demand loading resource package according to the resource index library, which can effectively bundle the application Packets are distinguished.
- the dynamic modularized loading resource package can be obtained on demand, so the application's dynamic modular loading resource package function can be used on demand.
- the terminal the complete function of the module can be obtained, the limitation is avoided, and the terminal can also obtain a suitable and accurate application package, which improves the accuracy.
- index libraries can also be established based on application information related to user data uploaded by the terminal. No matter which channel the user installs on the terminal (app store or app treasure) is uploaded to the server, an other index library can be established to provide instrumental support for the background.
- the dynamic modular on-demand loading resource package sharing mechanism of the application bundle (app bundle) is built as the application package apk sharing mechanism of the software store. This is for all applications, which can be checked through the resource index library. Even if it does not belong to the application bundle, upload it to the server, so that there is no need to capture the package through the terminal, but the user uploads it through the terminal instead of capturing the package. Therefore, the efficiency of obtaining application packages is improved and the number of applications can be further complemented, so that users can find more desired application packages more easily and improve accuracy.
- the resource index library established by the application information uploaded by the terminal adopts a distribution strategy to improve the distribution efficiency of the dynamic modular on-demand loading resource package, and can complete the distribution of application bundles of the application store in stages.
- the application store can add a large number of application resources, so as to increase the download volume of application resource packages.
- the resource processing device 900 may include:
- An information acquisition module 901, configured to receive application information of an application program installed in the terminal reported by the terminal;
- the index library construction module 902 is configured to construct a resource index library for determining a dynamic modular on-demand loading resource package according to the application information;
- the resource distribution module 903 is configured to distribute the dynamic modular on-demand loading resource package contained in the application bundle based on the resource index library.
- the application information is composed of resource information and on-demand download attributes; wherein, the resource information scans the dynamic module catalog of the preset application through the terminal, and one by one according to the catalog. It is determined when the on-demand download attribute exists in the application list of each dynamization module.
- the resource distribution module includes: a resource package judgment module, which is used to automatically scan all application programs installed in the terminal and determine whether the application bundle contains dynamic modular buttons. The resource package needs to be loaded; the distribution control module is configured to, if it is determined that the application bundle package contains the dynamic modular on-demand loading resource package, respond to the query request sent by the terminal, so as to determine whether or not according to the query request result Distribute the application bundle package through the terminal.
- a resource package judgment module which is used to automatically scan all application programs installed in the terminal and determine whether the application bundle contains dynamic modular buttons. The resource package needs to be loaded; the distribution control module is configured to, if it is determined that the application bundle package contains the dynamic modular on-demand loading resource package, respond to the query request sent by the terminal, so as to determine whether or not according to the query request result Distribute the application bundle package through the terminal.
- the distribution control module includes: a first distribution module, configured to receive the dynamic modular on-demand loading resource package if the result of the query request is that the server does not exist
- the dynamic modularization of the application bundle package uploaded by the terminal loads the resource package on-demand for distribution; the distribution module is stopped, and is used to determine that the dynamic modularization on-demand exists on the server if the result of the query request is When the resource package is loaded, the distribution operation is stopped by uploading the application bundle package through the terminal.
- the resource distribution module includes: a second distribution module, which is used to automatically update all the terminals that have installed the application bundle package that does not include the dynamic modular on-demand loading resource package.
- the dynamic modular on-demand loading resource package of the application bundle package is distributed to the terminal; all package distribution modules are used to directly distribute all the application bundle packages that do not contain the dynamic modular on-demand loading resource package to the terminal that is not installed Application package.
- the resource distribution module includes: an automatic update module, configured to remove the resource package from the dynamic modular on-demand loading resource package if it is detected that the server does not obtain the application bundle package.
- the dynamic modular on-demand loading resource package is distributed to the terminal, and the dynamic modular on-demand loading resource package is distributed in an automatic update mode; the application package distribution module is used to if it is detected
- the server obtains the dynamic modularized on-demand loading resource package of the application bundle, and then distributes all application packages including the dynamic modularized on-demand loading resource package to the terminal.
- the device further includes: a matching module, configured to compare the application bundle with a time condition if the time when the application bundle exists in the resource index library The dynamic modularized on-demand loading resource package in the resource index library is matched; the non-dynamic package distribution module is used for matching the application bundle if the application bundle does not belong to the dynamic modularized on-demand loading resource package Bundle packs are put on the shelves to distribute non-dynamic modular on-demand loading resource packs.
- a matching module configured to compare the application bundle with a time condition if the time when the application bundle exists in the resource index library
- the dynamic modularized on-demand loading resource package in the resource index library is matched
- the non-dynamic package distribution module is used for matching the application bundle if the application bundle does not belong to the dynamic modularized on-demand loading resource package Bundle packs are put on the shelves to distribute non-dynamic modular on-demand loading resource packs.
- an electronic device capable of implementing the above method is also provided.
- the electronic device 1000 according to this embodiment of the present invention will be described below with reference to FIG. 10.
- the electronic device 1000 shown in FIG. 10 is only an example, and should not bring any limitation to the function and application scope of the embodiment of the present invention.
- the electronic device 1000 is represented in the form of a general-purpose computing device.
- the components of the electronic device 1000 may include, but are not limited to: the aforementioned at least one processing unit 1001, the aforementioned at least one storage unit 1002, and a bus 1003 connecting different system components (including the storage unit 1002 and the processing unit 1001).
- the bus 1003 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any bus structure among multiple bus structures.
- the storage unit 1002 may include a readable medium in the form of a volatile memory, such as a random access memory (RAM) 10021 and/or a cache memory 10022, and may further include a read-only memory (ROM) 10023.
- RAM random access memory
- ROM read-only memory
- the storage unit 1002 may also include a program/utility tool 10025 having a set (at least one) program module 10024.
- program module 10024 includes but is not limited to: an operating system, one or more application programs, other program modules, and program data, Each of these examples or some combination may include the implementation of a network environment.
- the electronic device 1000 can also communicate with one or more external devices 1004 (such as keyboards, pointing devices, Bluetooth devices, etc.), and can also communicate with one or more devices that enable a user to interact with the electronic device 1000, and/or communicate with The electronic device 1000 can communicate with any device (such as a router, a modem, etc.) that communicates with one or more other computing devices. This communication can be performed through an input/output (I/O) interface 1005.
- the electronic device 1000 may also communicate with one or more networks (for example, a local area network (LAN), a wide area network (WAN), and/or a public network, such as the Internet) through the network adapter 1006.
- LAN local area network
- WAN wide area network
- public network such as the Internet
- the network adapter 1006 communicates with other modules of the electronic device 1000 through the bus 1003. It should be understood that although not shown in FIG. 10, other hardware and/or software modules can be used in conjunction with the electronic device 1000, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tapes Drives and data backup storage systems, etc.
- a computer-readable storage medium on which is stored a program product capable of implementing the above-mentioned method of this specification.
- various aspects of the present invention may also be implemented in the form of a program product, which includes program code.
- the program product runs on a terminal device, the program code is used to enable the The terminal device executes the steps according to various exemplary embodiments of the present invention described in the above-mentioned "Exemplary Method" section of this specification.
- a program product for implementing the above method is also provided, which can adopt a portable compact disk read-only memory (CD-ROM) and include program code, and can run on a terminal device, such as a personal computer.
- CD-ROM portable compact disk read-only memory
- the program product of the present invention is not limited to this.
- the readable storage medium can be any tangible medium that contains or stores a program, and the program can be used by or combined with an instruction execution system, device, or device.
- the program product can use any combination of one or more readable media.
- the readable medium may be a readable signal medium or a readable storage medium.
- the readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or a combination of any of the above. More specific examples (non-exhaustive list) of readable storage media include: electrical connections with one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable Type programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
- the computer-readable signal medium may include a data signal propagated in baseband or as a part of a carrier wave, and readable program code is carried therein. This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the readable signal medium may also be any readable medium other than a readable storage medium, and the readable medium may send, propagate, or transmit a program for use by or in combination with the instruction execution system, apparatus, or device.
- the program code contained on the readable medium can be transmitted by any suitable medium, including but not limited to wireless, wired, optical cable, RF, etc., or any suitable combination of the above.
- the program code used to perform the operations of the present invention can be written in any combination of one or more programming languages.
- the programming languages include object-oriented programming languages—such as Java, C++, etc., as well as conventional procedural styles. Programming language-such as "C" language or similar programming language.
- the program code can be executed entirely on the user's computing device, partly on the user's device, executed as an independent software package, partly on the user's computing device and partly executed on the remote computing device, or entirely on the remote computing device or server Executed on.
- the remote computing device can be connected to a user computing device through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computing device (for example, using Internet service providers). Business to connect via the Internet).
- LAN local area network
- WAN wide area network
- Internet service providers for example, using Internet service providers.
- modules or units of the device for action execution are mentioned in the above detailed description, this division is not mandatory.
- the features and functions of two or more modules or units described above may be embodied in one module or unit.
- the features and functions of a module or unit described above can be further divided into multiple modules or units to be embodied.
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 Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
一种资源处理方法、装置、存储介质和电子设备,涉及计算机技术领域,该方法包括:接收由终端上报的安装于所述终端的应用程序的应用信息(S210);根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库(S220);基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作(S230)。能够减少局限性,完整地使用应用程序包。
Description
本公开实施例涉及计算机技术领域,并且更具体地,涉及一种资源处理方法、资源处理装置、电子设备和计算机可读存储介质。
在应用程序开发的过程中,可以采用应用集束代表的应用程序打包方式来大幅度减少应用程序的体积。
相关技术中,用户只能直接下载到应用程序的资源包,但是并不能获得其中的部分功能,从而导致一直无法使用应用程序的动态模块化按需加载资源包的功能。因此,难以获得完整的功能,具有一定的局限性,并且影响用户找到合适的应用程序包,准确性较差。
发明内容
本公开实施例提供了一种资源处理方法、资源处理装置、电子设备和计算机可读存储介质,能够在一定程序上解决准确性较差的问题。
根据本公开实施例的一个方面,提供了一种资源处理方法,包括:接收由终端上报的安装于所述终端的应用程序的应用信息;根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库;基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
根据本公开的一个方面,提供一种资源处理装置,包括:信息获取模块,用于接收由终端上报的安装于所述终端的应用程序的应用信息;索引库构建模块,用于根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库;资源分发模块,用于基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
根据本公开的一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的资源处理方法。
根据本公开的一个方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的资源处理方法。
本公开实施例中的技术方案,一方面,能够通过使用终端上传的应用信息来构建资源索引库,进而根据资源索引库来判断应用集束包中是否包含动态模块化按需加载资源包,能够有效对应用集束包进行区分。另一方面,可以获取到动态模块化按需加 载资源包,因此可以使用应用的动态模块化按需加载资源包的功能。对于终端而言,避免了不能使用动态模块化按需加载资源包的局限性,能够得到模块完整的功能,也能使得终端获取到合适的准确的应用程序包,提高了准确性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
图1示出了本公开实施例的系统架构的示意图。
图2示出了本公开实施例的一种资源处理方法的示意性流程图。
图3示出了本公开实施例的资源索引库的结构示意图。
图4示出了本公开实施例的应用场景示意图。
图5示出了本公开实施例对非动态模块化按需加载资源包的处理流程图。
图6示出了本公开实施例对动态模块化按需加载资源包的一个处理流程图。
图7示出了本公开实施例对动态模块化按需加载资源包的另一个处理流程图。
图8示出了本公开实施例对动态模块化按需加载资源包的又一个处理流程图。
图9示出了本公开实施例的资源处理装置的结构示意图。
图10示出了用于实现本公开实施例的资源处理方法的电子设备的示意图。
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
图1中示意性示出了本公开实施例的方法的系统架构图,如图1所示,该系统架构100可以包括第一端101、网络102以及第二端103。其中,第一端101可以是客户端,例如可以为各种能够下载和安装应用程序的手持设备(智能手机)、平板电脑、台式计算机、车载设备、可穿戴设备等等。网络102用以在第一端101和第二端103 之间提供通信链路的介质,网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等,在本公开实施例中,第一端101和第二端103之间的网络102可以是有线通信链路,例如可以通过串口连接线提供通信链路,也可以是无线通信链路,通过无线网络提供通信链路。第二端103可以是客户端,例如便携式计算机、台式计算机、智能手机等具有数据处理功能的终端设备,用于进行数据处理。其中,当第一端和第二端均为客户端时,二者可以为同一个客户端。第二端也可以为服务器,例如本地服务器或者是云服务器等等,此处不做限定。
应该理解,图1中的第一端、网络和第二端的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、网络和服务器。
需要说明的是,本公开实施例所提供的资源处理方法可以完全由第二端执行,相应地,资源处理装置可设置于第二端103中。
基于图1中所示的系统架构,本公开实施例中提供了一种资源处理方法。图2中示意性示出了本公开实施例中资源处理方法的流程图,参考图2中所示,主要包括步骤S210至步骤S230,详细介绍如下:
在步骤S210中,接收由终端上报的安装于所述终端的应用程序的应用信息。
本公开实施例中,终端指的是任意一个或多个终端,应用程序指的是安装在每个终端上的所有应用程序,例如应用1、应用2等等。应用程序可以为从任意渠道下载的应用,例如可以为从终端本身的应用商店或第三方下载的。应用信息指的是与应用程序相关的所有信息,可以用于描述应用程序的资源包下载等信息。本公开实施例中,应用信息可以包括但不限于属性信息以及资源信息。其中,属性信息指的是预设应用的动态化模块的属性信息(按需下载属性),资源信息指的是资源包对应的包名以及版本号(软件版本号以及硬件版本号)、资源包中包含的文件名等等。
本公开实施例中,应用信息可以由终端通过检查更新接口上传至服务端。具体地,终端确定应用信息的具体过程可以包括:步骤一、扫描预设应用的动态化模块目录,并逐个扫描每个动态化模块的应用清单。其中,预设应用指的是bundle应用。bundle是一种应用程序的文件格式(新的上传格式),后缀是aab。里面包含代码和资源文件里面包含很多资源子文件,例如图片、音频或视频等等。bundle包方便在其他项目中引用包内的资源。终端中的检查更新模块,在扫描无论通过何种渠道安装的应用程序时,扫描预设应用的动态化模块目录(split目录)。在扫描目录的同时,可以逐个扫描每个动态化模块split_xxx.apk的应用清单中的按需下载属性。此处的应用清单可以用manifest.xml来表示,应用清单中包含了应用程序的配置信息,系统需要根据配置信息运行应用程序的代码,并以此显示界面。按需下载属性可以用onDemand=true来表示,以用来区分是否需要下载动态化按需下载模块。即,终端逐个扫描split_xxx.apk的manifest.xml中的onDemand=true属性。
步骤二、若扫描到所述应用清单中存在按需下载属性,则提供用于表示动态模块化按需加载资源包的资源标记信息,并确定所述动态模块化按需下载资源的资源信息。如果在应用清单中找到这个属性,则可以在检查更新接口中增加资源标记信息,资源标记信息可以用于标记该资源(预设应用的资源)为动态模块化按需加载资源包dynamic_split。资源标记信息可以用数据或者是一个标识来表示,此处不作特殊限定。与此同时,还可以提供该预设应用的资源对应的资源信息,资源信息可以包括但不限于资源包的包名、版本号以及文件名等信息,从而与属性信息进行结合得到应用信息。客户端在得到应用信息后,可以通过检查更新接口将其上传至服务端,以便于以终端上的用户数据为基础,通过上传数据使得服务端实现动态模块化按需加载资源包的共享机制。
在步骤S220中,根据所述应用信息,构建用于确定动态模块化按需加载资源的资源索引库。
本公开实施例中,在得到应用信息后,服务端可以根据这些应用信息来构建一个资源索引库。此处的资源索引库可以理解为数据库,用于存储终端对应的版本的多种资源包。资源索引库可以为bundle资源索引库,用于后续针对抓包得到的应用集束包,协助服务端的资源侧确认抓包得到的应用集束包是否为动态模块化按需加载资源包(dynamic_split资源)。动态模块化按需加载资源包可以为应用程序包的部分功能,是根据用户需求而进行下载的。对于资源索引库而言,其中可以存储型号1对应的终端的所有资源包,也可以存储型号2对应的终端的所有资源包等等。在构建资源索引库时,可以针对不同终端的不同版本号来构建,不同型号的终端所对应的目录可能完全不同。且同一个型号的终端的不同版本号分别对应一个目录,不同目录下的文件名不同。
在构建资源索引库时,可以将终端的型号、版本号、包名以及文件名之间建立关联关系,从而建立资源索引库。通过建立资源索引库,可以存储大量文件名,以便于根据资源索引库准确判断资源是否为动态模块化按需加载资源包,从而实现了能够准确地确定每一个资源的类型的功能,能够在资源入库时判断其是否携带动态模块化按需加载资源包,从而进行准确区分。可以加快资源包的检索速度,实现数据的完整性,提高资源包存储的性能。
参考图3中所示的资源索引库的示意图,对于型号1对应的终端而言,其版本号分别为facebook1.0、facebook2.0以及facebook3.0。每个版本号对应的目录中可以包含多个文件名,且多个文件名可以相同或不同,相同的文件名所对应的具体参数也可以相同或不同。facebook1.0所对应的目录可以包括但不限于split_config.apk、split_hdpi.apk、split_arm64.apk、split_xxx.apk等等。
参考图4中所示,应用商店中的应用程序动态传送至终端。应用商店包括多个动 态化模块应用程序包,即split apks。split apks机制属于动态分发的基本组件,一般采用bundle来动态分发应用程序。split apks例如可以包括资源索引库中包含的文件名。终端分别下载各个最合适的split apks,安卓平台能够将已安装的多个split apks视为一个应用程序。应用商店的应用服务模型名使用应用集束针对每位用户的设备配置生成并提供经过优化的应用程序包apk,因此用户只需下载其运行应用所需的代码和资源。无需再编译、签署和管理多个apk以支持不同的设备,而用户也可以获得更小、更优化的下载文件包。
继续参考图2中所示,在步骤S230中,基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
本公开实施例中,应用集束包可以为任意应用程序对应的资源包。应用集束包中可以包括动态模块化按需加载资源包dynamic_split,也可以包括非动态模块化按需加载资源包(即非dynamic_split),具体是否包含动态模块化按需加载资源包可以根据资源索引库而进行判断。本公开实施例中,在确定包含的资源包的类型之后,可以通过三个不同阶段来分别分发这些资源包。具体地,第一阶段,分发非dynamic_split包资源,提供应用集束app bundle整个包的分发能力(可不针对机型,系统版本,屏幕分辨率将所有应用程序包apk一同下发给用户安装,主要为能力补齐)。第二阶段,灵活分发非dynamic_split包资源(提供灵活的split包分发能力,针对不同机型、系统版本、屏幕分辨率,分发合适的资源apkl)。第三阶段,分发包含dynamic_split资源,如资源后台有dynamic_split包,就在资源分发的同时一起下发dynamic_split;若资源后台没有,通过无线网络自更新,补齐资源的下载。
对于非动态模块化按需加载资源包而言,其处理过程可以如图5中所示,具体包括以下步骤:
步骤S510,判断应用集束包存在于所述资源索引库的时间是否满足时间条件;若是,则转至步骤S520;若否,则结束。
步骤S520,将所述应用集束包与所述资源索引库中的动态模块化按需加载资源包进行匹配,以确定应用集束包是否属于所述动态模块化按需加载资源包。若否,则转至步骤S530。
步骤S530,将所述应用集束包上架,以分发非动态模块化按需加载资源包。
本公开实施例中,从抓包入库的app bundle包资源(应用集束包),在应用集束包入库之前,根据资源索引库检索该应用集束包是否为动态模块化按需加载资源包。抓包指的是采用多个终端不断请求以下载应用程序包。在确定其是否属于动态模块化按需加载资源包之前,首先需要判断该资源存储至资源索引库的时间是否满足时间条件。此处的时间条件可以为超过时间阈值(例如超过7天),以确保资源索引库的准确性。如果时间超过7天,则可以继续判断该应用集束包是否为动态模块化按需加载 资源包。
在判断应用集束包是否为动态模块化按需加载资源包时,可以将应用集束包与资源索引库中的所有动态模块化按需加载资源包进行匹配,以根据匹配结果确定应用集束包是否属于动态模块化按需加载资源包。在进行匹配时,如果应用集束包的属性信息与资源索引库中的资源的属性信息匹配,即可确定二者匹配成功。属性信息指的是按需下载属性onDemand=true。即,只要按需下载属性匹配成功,则可以确定其为动态模块化按需加载资源包。如果应用集束包不属于动态模块化按需加载资源包,则可以对该应用集束包进行上架操作。即,若能准确判断该资源为非dynamic_split包,则上架该资源。
除此之外,还可以采用基于用户共享资源的应用分发策略来分发动态模块化按需加载资源包。图6中示意性示出了分发动态模块化按需加载资源包的流程图。参考图6中所示,主要包括以下步骤:
在步骤S610中,自动扫描所有安装于所述终端的应用程序。
在步骤S620中,确定所述应用集束包中是否包含动态模块化按需加载资源包。若是,则转至步骤S630;若否,则结束。
在步骤S630中,响应于所述终端发送的查询请求,以便于根据查询请求结果判断服务端是否存在动态模块化按需加载资源包。若否,则转至步骤S640;若是,则转至步骤S650。
在步骤S640中,若所述查询请求结果为服务端不存在所述动态模块化按需加载资源包,则接收所述终端上传的所述应用集束包以进行分发操作。
在步骤S650中,若所述查询请求结果为确定所述服务端存在所述动态模块化按需加载资源包,则停止通过所述终端上传所述应用集束包而进行分发操作。
本公开实施例中,对于应用商店对应的终端,在打开终端的同时,会自动扫描该终端上所有已安装的应用程序。扫描已安装的应用程序的同时,扫描应用集束包(app bundle包)中是否拥有动态模块化按需加载资源包。如果拥有dynamic_split包,则向服务端请求得到服务端包含动态模块化按需加载资源包或者是不包含动态模块化按需加载资源包的查询请求结果,以根据查询请求结果判定是否上传该应用集束包。如果服务端没有此包,则需要终端将动态模块化按需加载资源包上传至服务端,因此服务端可以接收终端上传的应用集束包从而进行分发操作。如果服务端存在此包,则不需要终端将动态模块化按需加载资源包上传至服务端,因此终端停止上传,服务端也接收不到应用集束包,从而无法通过终端上传来进行分发操作。
图7中示意性示出采用基于用户共享资源的应用分发策略来分发动态模块化按需加载资源包的另一流程图。参考图7中所示,主要包括以下步骤:
步骤S710,对于已安装不包含动态模块化按需加载资源包的应用集束包的终端, 通过自动更新方式将所述应用集束包的动态模块化按需加载资源包分发至所述终端;
步骤S720,对于未安装不包含动态模块化按需加载资源包的应用集束包的终端,直接分发所有的应用程序包。
本公开实施例中,对于终端已经安装了不带动态模块化按需加载资源包的资源A,使用自动更新,将资源A的动态模块化按需加载资源包分发给用户。即,如果更新到该资源A对应的动态模块化按需加载资源包,则可以将其推送给终端。对于没有安装资源A的终端,直接为终端分发全部应用程序包且全部程序包中包含动态模块化按需加载资源包。
通过图7中的技术方案,能够为所有的资源均分发其对应的动态模块化按需加载资源包,以便于终端使用,保证完整性。
图8中示意性示出了采用基于用户共享资源的应用分发策略来分发动态模块化按需加载资源包的又一流程图。参考图8中所示,主要包括以下步骤:
步骤S810,检测服务端是否获得应用集束包的动态模块化按需加载资源包;
步骤S820,若否,则将除所述动态模块化按需加载资源包之外的所有应用程序包分发至所述终端,并通过自动更新方式分发所述动态模块化按需加载资源包;
步骤S830,若是,则将包括所述动态模块化按需加载资源包的所有应用程序包分发至所述终端。
本公开实施例中,如果检测到服务端未获得用户通过终端上报的应用集束包的动态模块化按需加载资源包,则服务端先将除动态模块化按需加载资源包之外的所有应用程序包分发至请求的终端;然后通过自动更新方式在得到动态模块化按需加载资源包后进行分发。如果检测到服务端获得用户通过终端上报的应用集束包的动态模块化按需加载资源包,则直接向请求的终端分发所有应用程序包,所有应用程序包中包含动态模块化按需加载资源包。
通过图8中的技术方案,根据服务端是否包含动态模块化按需加载资源包,确定向终端分发的应用程序包,进而能够保证分发的资源包的完整性和准确性。
本公开实施例中的技术方案,能够通过使用终端上传的应用信息来构建资源索引库,进而根据资源索引库来判断应用集束包中是否包含动态模块化按需加载资源包,能够有效对应用集束包进行区分。并且,本公开实施例中可以获取到动态模块化按需加载资源包,因此可以使用应用的动态模块化按需加载资源包的功能。对于终端而言,能够得到模块完整的功能,避免了局限性,也能使得终端获取到合适的准确的应用程序包,提高了准确性。
本公开实施例中,还可以基于终端上传的用户数据相关的应用信息,建立其他索引库。用户在终端安装的应用程序,不管是从哪些渠道下载的(应用商店或者是应用宝)上传到服务器,均可以建立一个其他索引库,以用于为后台提供工具性支持。
本公开实施例中,将应用集束包(app bundle)的动态模块化按需加载资源包共享机制,打造为软件商店的应用程序包apk共享机制。此处是对所有的应用程序而言,可以通过资源索引库进行检查。即使其不属于应用集束,将其上传到服务端,这样就不需要通过终端去抓包,而是用户自己通过终端上传,以代替去抓包。因此提高了获取应用程序包的效率而且能够进一步补全应用程序的数量,以便于让用户更容易找到更想要的应用程序包,提高了准确性。并且,本公开实施例中,通过终端上传的应用信息建立的资源索引库,采用分发策略提高了动态模块化按需加载资源包的分发效率,能够分阶段补齐应用商店的应用集束包的分发能力,从而使得应用商店可以新增大量的应用程序的资源,以便于提高应用程序的资源包的下载量。
本公开实施例中,还提供了一种资源处理装置,参考图9中所示,资源处理装置900可以包括:
信息获取模块901,用于接收由终端上报的安装于所述终端的应用程序的应用信息;
索引库构建模块902,用于根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库;
资源分发模块903,用于基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
在本公开的一种示例性实施例中,所述应用信息由资源信息和按需下载属性构成;其中,所述资源信息通过所述终端扫描预设应用的动态化模块目录,且根据目录逐个扫描每个动态化模块的应用清单中存在所述按需下载属性时确定。
在本公开的一种示例性实施例中,资源分发模块包括:资源包判断模块,用于自动扫描所有安装于所述终端的应用程序,并确定所述应用集束包中是否包含动态模块化按需加载资源包;分发控制模块,用于若确定所述应用集束包中包含所述动态模块化按需加载资源包,则响应于所述终端发送的查询请求,以便于根据查询请求结果判断是否通过所述终端分发所述应用集束包。
在本公开的一种示例性实施例中,分发控制模块包括:第一分发模块,用于若所述查询请求结果为服务端不存在所述动态模块化按需加载资源包,则接收所述终端上传的所述应用集束包的所述动态模块化按需加载资源包以进行分发操作;停止分发模块,用于若所述查询请求结果为确定所述服务端存在所述动态模块化按需加载资源包,则停止通过所述终端上传所述应用集束包而进行分发操作。
在本公开的一种示例性实施例中,资源分发模块包括:第二分发模块,用于对于已安装不包含动态模块化按需加载资源包的应用集束包的终端,通过自动更新方式将所述应用集束包的动态模块化按需加载资源包分发至所述终端;所有包分发模块,用于对于未安装不包含动态模块化按需加载资源包的应用集束包的终端,直接分发所有 的应用程序包。
在本公开的一种示例性实施例中,资源分发模块包括:自动更新模块,用于若检测到服务端未获得所述应用集束包的所述动态模块化按需加载资源包,则将除所述动态模块化按需加载资源包之外的所有应用程序包分发至所述终端,并通过自动更新方式分发所述动态模块化按需加载资源包;应用包分发模块,用于若检测到服务端获得所述应用集束包的所述动态模块化按需加载资源包,则将包括所述动态模块化按需加载资源包的所有应用程序包分发至所述终端。
在本公开的一种示例性实施例中,所述装置还包括:匹配模块,用于若所述应用集束包存在于所述资源索引库的时间满足时间条件,则将所述应用集束包与所述资源索引库中的动态模块化按需加载资源包进行匹配;非动态包分发模块,用于若所述应用集束包不属于所述动态模块化按需加载资源包,则将所述应用集束包上架,以分发非动态模块化按需加载资源包。
需要说明的是,本公开实施例中提供的资源处理装置中各模块的具体细节已经在资源处理方法的具体步骤中进行了描述,因此此处不再赘述。
在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图10来描述根据本发明的这种实施方式的电子设备1000。图10显示的电子设备1000仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,电子设备1000以通用计算设备的形式表现。电子设备1000的组件可以包括但不限于:上述至少一个处理单元1001、上述至少一个存储单元1002、连接不同系统组件(包括存储单元1002和处理单元1001)的总线1003。
总线1003表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、图形加速端口、处理器或者使用多种总线结构中的任意总线结构的局域总线。
存储单元1002可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)10021和/或高速缓存存储器10022,还可以进一步包括只读存储器(ROM)10023。
存储单元1002还可以包括具有一组(至少一个)程序模块10024的程序/实用工具10025,这样的程序模块10024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的 实现。
电子设备1000也可以与一个或多个外部设备1004(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与电子设备1000交互的设备通信,和/或与使得电子设备1000能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口1005进行。并且,电子设备1000还可以通过网络适配器1006与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器1006通过总线1003与电子设备1000的其它模块通信。应当明白,尽管图10中未示出,可以结合电子设备1000使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
在本公开的示例性实施例中,还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的步骤。
本公开实施例中,还提供了一种用于实现上述方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有 线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,上述附图仅是根据本发明示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。
Claims (10)
- 一种资源处理方法,其特征在于,包括:接收由终端上报的安装于所述终端的应用程序的应用信息;根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库;基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
- 根据权利要求1所述的资源处理方法,其特征在于,所述应用信息由资源信息和按需下载属性构成;其中,所述资源信息通过所述终端扫描预设应用的动态化模块目录,且根据目录逐个扫描每个动态化模块的应用清单中存在所述按需下载属性时确定。
- 根据权利要求1所述的资源处理方法,其特征在于,所述对应用集束包中包含的动态模块化按需加载资源包进行分发操作,包括:自动扫描所有安装于所述终端的应用程序,并确定所述应用集束包中是否包含动态模块化按需加载资源包;若确定所述应用集束包中包含所述动态模块化按需加载资源包,则响应于所述终端发送的查询请求,以便于根据查询请求结果判断是否通过所述终端分发所述应用集束包。
- 根据权利要求3所述的资源处理方法,其特征在于,所述响应于所述终端发送的查询请求,以便于根据查询请求结果判断是否通过所述终端分发所述应用集束包,包括:若所述查询请求结果为服务端不存在所述动态模块化按需加载资源包,则接收所述终端上传的所述应用集束包的所述动态模块化按需加载资源包以进行分发操作;若所述查询请求结果为确定所述服务端存在所述动态模块化按需加载资源包,则停止通过所述终端上传所述动态模块化按需加载资源包而进行分发操作。
- 根据权利要求1所述的资源处理方法,其特征在于,所述对应用集束包中包含的动态模块化按需加载资源包进行分发操作,包括:对于已安装不包含动态模块化按需加载资源包的应用集束包的终端,通过自动更新方式将所述应用集束包的动态模块化按需加载资源包分发至所述终端;对于未安装不包含动态模块化按需加载资源包的应用集束包的终端,直接分发所有的应用程序包。
- 根据权利要求1所述的资源处理方法,其特征在于,所述对应用集束包中包含的动态模块化按需加载资源包进行分发操作,包括:若检测到服务端未获得所述应用集束包的所述动态模块化按需加载资源包,则将除所述动态模块化按需加载资源包之外的所有应用程序包分发至所述终端,并通过自 动更新方式分发所述动态模块化按需加载资源包;若检测到服务端获得所述应用集束包的所述动态模块化按需加载资源包,则将包括所述动态模块化按需加载资源包的所有应用程序包分发至所述终端。
- 根据权利要求1所述的资源处理方法,其特征在于,所述方法还包括:若所述应用集束包存在于所述资源索引库的时间满足时间条件,则将所述应用集束包与所述资源索引库中的动态模块化按需加载资源包进行匹配;若所述应用集束包不属于所述动态模块化按需加载资源包,则将所述应用集束包上架,以分发非动态模块化按需加载资源包。
- 一种资源处理装置,其特征在于,包括:信息获取模块,用于接收由终端上报的安装于所述终端的应用程序的应用信息;索引库构建模块,用于根据所述应用信息,构建用于确定动态模块化按需加载资源包的资源索引库;资源分发模块,用于基于所述资源索引库,对应用集束包中包含的动态模块化按需加载资源包进行分发操作。
- 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任意一项所述的资源处理方法。
- 一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-7中任意一项所述的资源处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202080100573.5A CN115485661A (zh) | 2020-05-14 | 2020-05-14 | 资源处理方法、装置、电子设备和存储介质 |
PCT/CN2020/090361 WO2021226965A1 (zh) | 2020-05-14 | 2020-05-14 | 资源处理方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2020/090361 WO2021226965A1 (zh) | 2020-05-14 | 2020-05-14 | 资源处理方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2021226965A1 true WO2021226965A1 (zh) | 2021-11-18 |
Family
ID=78526279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2020/090361 WO2021226965A1 (zh) | 2020-05-14 | 2020-05-14 | 资源处理方法、装置、电子设备和存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN115485661A (zh) |
WO (1) | WO2021226965A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094905A (zh) * | 2015-07-21 | 2015-11-25 | 北京金山安全软件有限公司 | 动态加载语言资源的方法和装置 |
CN107707584A (zh) * | 2016-08-08 | 2018-02-16 | 腾讯科技(深圳)有限公司 | 一种应用加载方法、终端及平台服务器 |
CN108287758A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种应用资源管理方法、使用方法及装置 |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
-
2020
- 2020-05-14 CN CN202080100573.5A patent/CN115485661A/zh active Pending
- 2020-05-14 WO PCT/CN2020/090361 patent/WO2021226965A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105094905A (zh) * | 2015-07-21 | 2015-11-25 | 北京金山安全软件有限公司 | 动态加载语言资源的方法和装置 |
CN107707584A (zh) * | 2016-08-08 | 2018-02-16 | 腾讯科技(深圳)有限公司 | 一种应用加载方法、终端及平台服务器 |
CN108287758A (zh) * | 2017-01-09 | 2018-07-17 | 阿里巴巴集团控股有限公司 | 一种应用资源管理方法、使用方法及装置 |
CN108304207A (zh) * | 2018-03-01 | 2018-07-20 | 上海找钢网信息科技股份有限公司 | 混合app应用程序的资源更新方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN115485661A (zh) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
US9363195B2 (en) | Configuring cloud resources | |
US8572033B2 (en) | Computing environment configuration | |
US20180260412A1 (en) | Unified file and object data storage | |
US20080214172A1 (en) | Method of loading software in mobile and desktop environments | |
US11681517B2 (en) | Robotic process automation system with distributed download | |
CN111045833B (zh) | 接口调用的方法和装置 | |
WO2021013242A1 (zh) | 一种启动小程序的方法、设备和计算机存储介质 | |
CN1499395A (zh) | 服务设备聚集 | |
US20190327105A1 (en) | Method and apparatus for pushing information | |
US11809429B2 (en) | Method for processing model parameters, and apparatus | |
CN111124299A (zh) | 数据存储管理方法、装置、设备、系统及存储介质 | |
US20230205503A1 (en) | Method for dynamically integrating application programs, and software system and machine using the same | |
WO2021232243A1 (zh) | 集群管理方法、集群管理装置、存储介质与电子设备 | |
CN113761588A (zh) | 一种数据校验方法、装置、终端设备及存储介质 | |
CN114844788B (zh) | 网络数据分析方法、系统、设备及存储介质 | |
CN116155978A (zh) | 多注册中心适配方法、装置、电子设备及存储介质 | |
WO2021226965A1 (zh) | 资源处理方法、装置、电子设备和存储介质 | |
US8280950B2 (en) | Automatic client-server code generator | |
US20120117258A1 (en) | Techniques to deploy and undeploy content to and from web servers | |
WO2021243665A1 (zh) | 编译方法、编译装置、编译系统、存储介质与电子设备 | |
CN112732581B (zh) | Sdk检测方法、装置、电子设备、系统和存储介质 | |
US20240054107A1 (en) | File processing method, electronic device, and storage medium | |
CN112383606B (zh) | 一种桌面容器镜像增量p2p分发方法及设备 | |
US20240202207A1 (en) | Distributed function data transformation system |
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: 20935745 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 17.04.2023) |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20935745 Country of ref document: EP Kind code of ref document: A1 |