WO2022183810A1 - Procédé et appareil de mise à jour de module d'extension, dispositif électronique, système et support de stockage - Google Patents

Procédé et appareil de mise à jour de module d'extension, dispositif électronique, système et support de stockage Download PDF

Info

Publication number
WO2022183810A1
WO2022183810A1 PCT/CN2021/139156 CN2021139156W WO2022183810A1 WO 2022183810 A1 WO2022183810 A1 WO 2022183810A1 CN 2021139156 W CN2021139156 W CN 2021139156W WO 2022183810 A1 WO2022183810 A1 WO 2022183810A1
Authority
WO
WIPO (PCT)
Prior art keywords
plug
target
module
core module
version
Prior art date
Application number
PCT/CN2021/139156
Other languages
English (en)
Chinese (zh)
Inventor
周智
Original Assignee
京东科技控股股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 京东科技控股股份有限公司 filed Critical 京东科技控股股份有限公司
Publication of WO2022183810A1 publication Critical patent/WO2022183810A1/fr

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons

Definitions

  • the present application relates to the field of computer technology, for example, to a plug-in updating method, apparatus, electronic device, system and storage medium.
  • the application needs to refer to the plugin to implement some functions.
  • the Android application needs to refer to the Gradle plugin to add dependencies, analyze dependencies, and resolve dependency conflicts.
  • the Android application refers to the Gradle plugin, it needs to manually add the plugin version in the application directory. information.
  • the present application provides a plug-in update method, apparatus, electronic device, system and storage medium, which can improve plug-in update efficiency.
  • This application provides a plug-in update method, including:
  • the current core module is updated to the target core module, wherein the target plug-in may be a plug-in deployed externally by privatization, or may be a plug-in deployed by non-privatization (ie, internal deployment).
  • the use of the shell module of the target plug-in referenced by the application to determine whether the current core module of the target plug-in needs to be updated includes:
  • the version management server may be an external Paas server when the target plug-in is an externally deployed plug-in, and when the target plug-in is an internally deployed plug-in, the version management server is an internal Paas server.
  • the obtaining the version information of the target core module from the version management server includes:
  • the method when acquiring the version information of the target core module from the version management server, the method further includes:
  • the downloading of the target core module of the target plug-in includes:
  • the target kernel module is downloaded from the plug-in storage server according to the plug-in storage address.
  • the plug-in storage server may be an external Maven server
  • the version management server is an internal Maven server
  • the target plug-in when the target plug-in is a plug-in deployed by external privatization, the target plug-in is obtained in the following manner:
  • the version management address and the plug-in storage address are written into the configuration file of the shell module of the original plug-in to obtain the target plug-in, that is, the target plug-in is a plug-in obtained by modifying the original plug-in developed by the developer.
  • the target plug-in when the target plug-in is an internally deployed plug-in, the target plug-in is an original plug-in developed by a developer.
  • the method further includes:
  • the target plug-in when the target plug-in is a plug-in deployed privately to the outside world, after modifying the original plug-in to obtain the target plug-in, the target plug-in can be published to an external Maven server for other external users to download and use.
  • the application program references the target plug-in in the following manner:
  • the shell module of the target plug-in is added under the root directory according to the version information of the shell module of the target plug-in, and the current kernel module is added under the subdirectory of the application program.
  • the shell module and sum module of the target plug-in can be obtained directly from the local storage; when the target plug-in is an internally deployed plug-in, the shell module and core module of the target plug-in can be obtained from Internal Maven server download.
  • the present application provides a plug-in update device, including:
  • determining module set to utilize the shell module of the target plug-in referenced by the application program to determine whether the current core module of the target plug-in needs to be updated;
  • a download module configured to download the target core module of the target plug-in when it is determined that the current core module needs to be updated
  • an update module configured to update the current core module to the target core module.
  • the present application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the above plug-in update method when executing the program.
  • the present application also provides a plug-in update system, including a version management server, a plug-in storage server, and an electronic device configured to execute the above-mentioned plug-in update method.
  • the present application also provides a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, the above plug-in update method is implemented.
  • FIG. 1 is a schematic flowchart of a plug-in update method provided by an embodiment of the present application
  • FIG. 2 is a schematic flowchart of another plug-in update method provided by an embodiment of the present application.
  • FIG. 3 is a schematic interface diagram of a parameter configuration provided by an embodiment of the present application.
  • FIG. 4 is an interactive schematic diagram of a plug-in update system provided by an embodiment of the present application.
  • FIG. 5 is a schematic flowchart of another plug-in update method provided by an embodiment of the present application.
  • FIG. 6 is a schematic structural diagram of a plug-in update device provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a plug-in update system provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of an electronic device provided by an embodiment of the present application.
  • the application reference plugin has at least the following problems: 1. When the referenced plugin needs to be updated, the user needs to be notified to manually modify the version information of the plugin added in the application directory, which is not intelligent enough and the update efficiency is low; 2. When the plug-in is deployed in large-scale external output privatization, different teams have inconsistent requirements for the plug-in. When the plug-in is updated, frequent communication with different teams is required, and the maintenance cost is high; 3. When the plug-in is deployed externally for privatization, it needs to be modified according to user needs. Plug-in code and package and regenerate the plug-in, which is cumbersome to deploy.
  • FIG. 1 is a schematic flowchart of a plug-in updating method provided by an embodiment of the present application.
  • the method may be performed by a plug-in updating apparatus provided by an embodiment of the present application, and the apparatus may be implemented in software and/or hardware.
  • the apparatus may be integrated into an electronic device, such as a mobile phone, a personal computer (Personal Computer, PC), a tablet computer, a notebook computer, a desktop computer, and other electronic devices.
  • PC Personal Computer
  • tablet computer tablet computer
  • notebook computer a desktop computer
  • the method may include the following steps:
  • Step 101 using the shell module of the target plug-in referenced by the application program to determine whether the current core module of the target plug-in needs to be updated.
  • the application can be an Android (mobile operating system developed by Google) application, an IOS (mobile operating system developed by Apple) application, and the target plug-in can be a plug-in referenced by the application to implement related functions, such as Gradle plugin, Android applications can manage application builds and resolve dependency-related issues by referencing Gradle plugins.
  • Android mobile operating system developed by Google
  • IOS mobile operating system developed by Apple
  • the target plug-in can be a plug-in referenced by the application to implement related functions, such as Gradle plugin
  • Android applications can manage application builds and resolve dependency-related issues by referencing Gradle plugins.
  • the plug-in is designed as a shell module + core module structure, wherein the shell module is mainly used to implement functions such as version update of the core module and privatized deployment of the plug-in; the core module is mainly used to implement real business logic, For example: dynamically add dependencies, dynamically analyze dependencies, dynamically resolve dependency conflicts, etc.
  • the shell module can find the entry of the core module of the plug-in through reflection technology, so as to execute the latest core module and achieve the ability of automatic upgrade.
  • the version information of the shell module of the target plug-in can be added under the root directory of the application through user operation. Download the shell module and current core module of the target plug-in from the plug-in storage server, automatically add the downloaded shell module of the target plug-in to the root directory of the application, and automatically add the current core module of the downloaded target plug-in to the sub-folder of the application In the directory, when the application is running, it can execute the current kernel module in the subdirectory to realize related functions.
  • the shell module of the target plug-in can determine whether the current core module of the target plug-in needs to be updated in real time or periodically, and the method for determining whether the current core module of the target plug-in needs to be updated can be as follows :
  • the shell module of the target plug-in can be used to read the jar package file of the current core module in the subdirectory of the application, and parse the file name to obtain the version information of the current core module.
  • the version management address may be obtained from the configuration file of the shell module of the target plug-in, and the version information of the target core module may be obtained from the version management server according to the version management address.
  • the configuration file may be, for example, a Manifest.MF file.
  • the version information of the target kernel module indicates that the version of the kernel module is 2.0
  • the version information of the current kernel module indicates that the kernel module version is 1.0
  • Step 102 when it is determined that the current core module needs to be updated, download the target core module of the target plug-in.
  • the plug-in storage address can also be obtained, and when it is determined that the current core module needs to be updated, the target core module can be downloaded from the plug-in storage server according to the plug-in storage address.
  • Step 103 Update the current core module to the target core module.
  • the shell module of the target plug-in referenced by the application program can be used to determine whether the current core module of the target plug-in needs to be updated.
  • the target core module of the target plug-in is downloaded, and the current core module is updated.
  • the target kernel module is the target kernel module. That is, in the embodiment of the present application, the plug-in includes a shell module and a core module, and the shell module of the plug-in is used to check whether the core module needs to be updated.
  • the automatic update avoids the need for manual operation of the user during the update process, and improves the update efficiency.
  • the plug-in is a shell module + core module structure
  • the plug-in update only needs to update the core module of the plug-in.
  • the plug-in When the plug-in is deployed on a large scale, it only needs to communicate with different teams about the update of the core module, and there is no need to reconnect with the plug-in. Multiple teams communicate and modify plug-in code and notify different teams to modify version information, reducing maintenance costs.
  • the plug-in source code when the plug-in output is deployed in privatization, for security reasons, the plug-in source code is not open to the outside world, and only the obfuscated plug-in jar package is provided, but the user needs to customize some parameters according to the privatization deployment environment, for example, customizing the private Information about the version management server of the deployment, information about the privatized plug-in storage server that stores binary dependencies, and so on.
  • the relevant solution is usually: re-modify the plug-in source code for different customers, and then repackage to generate a new plug-in for external output. This method is not only cumbersome but also has high operation and maintenance costs, and requires frequent communication with external teams.
  • the embodiments of the present application also provide corresponding solutions, which are described below with reference to FIG. 2 .
  • another plugin update method provided by this embodiment of the present application includes the following steps:
  • Step 201 Obtain the configured version management address and plug-in storage address from a preset deployment interface.
  • the original Gradle plugin consists of a shell module and a core module.
  • the shell module has a corresponding shell module jar package
  • the core module has a corresponding core module jar package.
  • the jar package of the core module can be used to obfuscate the code. provided in the form of.
  • the preset deployment interface can be as shown in FIG. 3, including a version management server (such as a Paas server) , Configurable items of the plug-in storage server (such as a Maven server), configurable items of the plug-in storage server, such as the address of the plug-in storage server (that is, the plug-in storage address), user name, password, Configurable items of the version management server such as version The address of the management server (ie, the version management address).
  • the preset deployment interface may also include other information, such as the version number of the plug-in shell module, the version number of the core module, and pom file information.
  • the electronic device obtains the configured version management address and plug-in storage address from the preset deployment interface, and writes the version management address and plug-in storage address into the original through the jar command line.
  • the configuration file of the Gradle plugin's shell module to get the target Gradle plugin.
  • the configuration file of the shell module of the original Gradle plug-in can have information such as the version management address of the default configuration and the storage address of the plug-in.
  • the default configuration can be modified to the user configuration.
  • the relevant implementation logic code configured by the user may be as follows:
  • Step 202 Write the version management address and the plug-in storage address into the configuration file of the shell module of the original plug-in to obtain the target plug-in.
  • the shell module of the target Gradle plugin is different from the shell module of the original Gradle plugin, but the core module is the same for both.
  • Step 203 uploading the target plug-in to the plug-in storage server.
  • the electronic device can obtain the version number of the plug-in shell module, the version number of the core module, the pom file information, etc. from the preset deployment interface, and use Gradle's maven-publish Publish the target Gradle plugin to the plugin storage server for use by other users.
  • Step 204 Add version information of the shell module of the target plug-in in the root directory of the application according to the user operation.
  • the version information of the shell module of the target Gradle plugin can be added under the root directory of the application (for example, under the build.gradle file in the root directory) through user operations, such as: myplugin_shell: 1.0.
  • Step 205 according to the version information of the shell module of the target plug-in, add the shell module of the target plug-in in the root directory of the application, and add the current core module in the subdirectory of the application.
  • the shell module of the target Gradle plugin for example: myplugin_shell: 1.0 jar package
  • the current core module for example: myplugin_core_1.0
  • the shell module of the target Gradle plugin can be automatically downloaded from the plugin storage server according to the added version information jar package
  • automatically add the shell module of the downloaded target Gradle plugin to the root directory of the application for example, under the build.gradle file in the root directory
  • automatically add the current core module of the downloaded target Gradle plugin to the root directory of the application Under the subdirectory of the application (such as the .gradle directory)
  • the current kernel module in the subdirectory can be executed to achieve related functions.
  • Step 206 using the shell module of the target plug-in to determine the version information of the current kernel module.
  • the shell module of the target Gradle plug-in can be used to read the jar package file of the current core module in the subdirectory of the application, and parse the file name to obtain the version information of the current core module.
  • Step 207 Obtain the version management address from the configuration file of the shell module of the target plug-in.
  • the version management address may be obtained from the configuration file of the shell module of the target plug-in, and the version information of the target core module may be obtained from the version management server according to the version management address.
  • the configuration file may be, for example, a Manifest.MF file.
  • Step 208 Acquire the version information and plug-in storage address of the target core module from the version management server according to the version management address.
  • the data format of the data obtained from the version management server is as follows:
  • Step 209 determine whether the current nuclear module needs to be updated according to the version information of the current nuclear module and the version information of the target nuclear module, if the current nuclear module needs to be updated, then execute step 210, if the current nuclear module does not need to be updated, then execute step 212 to end deal with.
  • the version information of the target core module is myplugin_core_2.0 and the version information of the current core module is myplugin_core_1.0, it can be determined that the version of the target core module is higher than that of the current core module, and the current core module needs to be updated.
  • Step 210 Download the target core module from the plug-in storage server according to the plug-in storage address.
  • Step 211 update the current core module to the target core module.
  • Step 212 end.
  • the target plug-in is the plug-in obtained by dynamically configuring the original plug-in developed by the developer.
  • the user mentioned in this embodiment is equivalent to the client, the version management server and the developer for the developer.
  • Plug-in storage servers are all client-side servers.
  • the shell module of the target plug-in referenced by the application can be used to determine whether the current core module of the target plug-in needs to be updated, and when it is determined that the current core module needs to be updated, the target core module of the target plug-in is downloaded.
  • module to update the current kernel module to the target kernel module that is, in the embodiment of the present application, the plug-in includes a shell module and a core module, and the shell module of the plug-in is used to check whether the core module needs to be updated.
  • the automatic update avoids the need for manual operation of the user during the update process, and improves the update efficiency.
  • the plug-in update only needs to update the core module, and developers can focus on the design of the core module, which reduces the development and operation and maintenance costs of the plug-in.
  • another method for updating a plugin includes the following steps:
  • Step 301 Add version information of the shell module of the target plug-in in the root directory of the application according to the user operation.
  • the Gradle plug-in in this embodiment is still composed of a shell module and a core module, and the developer can upload the developed original Gradle plug-in (that is, the target Gradle plug-in) to the plug-in storage server.
  • the version information of the shell module of the target Gradle plugin can be added under the root directory of the application (for example, under the build.gradle file in the root directory) through user operations, such as :myplugin_shell:1.0.
  • Step 302 download the shell module and the current core module of the target plug-in from the plug-in storage server according to the version information of the shell module of the target plug-in.
  • Step 303 add the shell module of the target plug-in in the root directory of the application, and add the current kernel module in the subdirectory of the application.
  • the shell module of the downloaded target Gradle plugin can be added to the root directory of the application (for example, the build.gradle file in the root directory), and the current core module of the downloaded target Gradle plugin can be added to the subdirectory of the application (such as the .gradle directory), when the application is running, it can execute the current kernel module in the subdirectory to achieve related functions.
  • the root directory of the application for example, the build.gradle file in the root directory
  • the current core module of the downloaded target Gradle plugin can be added to the subdirectory of the application (such as the .gradle directory), when the application is running, it can execute the current kernel module in the subdirectory to achieve related functions.
  • Step 304 using the shell module of the target plug-in to determine the version information of the current core module.
  • the shell module of the target Gradle plug-in can be used to read the jar package file of the current core module in the subdirectory of the application, and parse the file name to obtain the version information of the current core module.
  • Step 305 Obtain the version management address from the configuration file of the shell module of the target plug-in.
  • the configuration file may be a Manifest.MF file, for example.
  • Step 306 Acquire the version information of the target core module and the plug-in storage address from the version management server according to the version management address.
  • Step 307 Determine whether the current core module needs to be updated according to the version information of the current core module and the version information of the target core module, if the current core module needs to be updated, then execute step 308, if the current core module does not need to be updated, then execute step 310 to end deal with.
  • the version information of the target core module is myplugin_core_2.0 and the version information of the current core module is myplugin_core_1.0, it can be determined that the version of the target core module is higher than that of the current core module, and the current core module needs to be updated.
  • Step 308 download the target core module from the plug-in storage server according to the plug-in storage address.
  • Step 309 update the current core module to the target core module.
  • Step 310 end.
  • the target plug-in is the original plug-in developed by the developer.
  • the user mentioned in this embodiment is equivalent to an internal user to the developer.
  • the version management server and the plug-in storage server are both internal server.
  • the shell module of the target plug-in referenced by the application can be used to determine whether the current core module of the target plug-in needs to be updated, and when it is determined that the current core module needs to be updated, the target plug-in's target plug-in is downloaded.
  • kernel module update the current kernel module to the target kernel module. That is, in the embodiment of the present application, the plug-in includes a shell module and a core module, and the shell module of the plug-in is used to check whether the core module needs to be updated.
  • the automatic update avoids the need for manual operation of the user during the update process, and improves the update efficiency.
  • the plug-in update only needs to update the core module, and developers can focus on the design of the core module, which reduces the development and operation and maintenance costs of the plug-in.
  • steps in the flowcharts of FIGS. 2 and 5 are displayed in sequence according to the arrows, these steps are not necessarily executed in the sequence indicated by the arrows. Unless stated herein, the steps are not strictly limited to the order in which they are performed, and the steps may be performed in other orders. Moreover, at least a part of the steps in FIGS. 2 and 5 may include multiple sub-steps or multiple stages. These sub-steps or stages are not necessarily executed at the same time, but may be executed at different times. These sub-steps or stages are not necessarily completed at the same time. The order of execution of the steps is not necessarily sequential, but may be performed alternately or alternately with other steps or at least a part of sub-steps or stages of other steps.
  • the schematic interface diagrams shown in the embodiments of the present disclosure are intended to illustrate a method for deploying a detection plug-in for sensitive functions, and the content (including but not limited to text, pictures, etc.) presented on the interface does not constitute a limitation on the solution.
  • FIG. 6 is a structural diagram of a plug-in updating apparatus provided by an embodiment of the present application, and the apparatus is suitable for executing the plug-in updating method provided by the embodiment of the present application.
  • the apparatus may include:
  • the determining module 401 is configured to use the shell module of the target plug-in referenced by the application to determine whether the current core module of the target plug-in needs to be updated; the downloading module 402 is configured to download the target when it is determined that the current core module needs to be updated The target core module of the plug-in; the update module 403 is configured to update the current core module to the target core module.
  • the determining module 401 is configured to:
  • the determining module 401 is configured to obtain the version information of the target core module from the version management server in the following manner:
  • the version management address is obtained from the configuration file of the shell module of the target plug-in; the version information of the target core module is obtained from the version management server according to the version management address.
  • the determining module 401 is further configured to: when acquiring the version information of the target core module from the version management server, acquire the plug-in storage address from the version management server.
  • the download module 402 is configured to download the target core module of the target plug-in in the following manner:
  • the target kernel module is downloaded from the plug-in storage server according to the plug-in storage address.
  • the target plug-in is obtained in the following manner:
  • the device further includes:
  • the uploading module is configured to upload the target plug-in to the plug-in storage server.
  • the application program references the target plug-in in the following manner:
  • the version information of the shell module of the target plug-in is added under the root directory of the application program according to the user operation; the shell module of the target plug-in is added under the root directory according to the version information of the shell module of the target plug-in, And add the current kernel module in the subdirectory of the application.
  • the device of the embodiment of the present application can use the shell module of the target plug-in referenced by the application program to determine whether the current core module of the target plug-in needs to be updated, when it is determined that the current core module needs to be updated, the target core module of the target plug-in is downloaded, and the current core module Update to target kernel module.
  • the plug-in includes a shell module and a core module, and the shell module of the plug-in is used to check whether the core module needs to be updated.
  • the automatic update avoids the need for manual operation of the user during the update process, and improves the update efficiency.
  • the plug-in is designed in the form of a shell module and a core module.
  • the plug-in update only needs to update the core module. Developers can focus on the design of the core module, which reduces the development and operation and maintenance costs of the plug-in.
  • the plug-in is a shell module + core module structure
  • the plug-in update only needs to update the core module of the plug-in.
  • the plug-in When the plug-in is deployed on a large scale, it only needs to communicate with different teams about the update of the core module, and there is no need to reconnect with the plug-in. Multiple teams communicate and modify plug-in code and notify different teams to modify version information, reducing maintenance costs.
  • the customized parameters are exposed to the user through the privatized deployment interface (ie, the preset deployment interface) for self-management, and the customized parameters are obtained through the privatized deployment interface, so as to realize the customization of the plug-in and reduce the number of plug-ins. deployment and upgrade operation and maintenance costs.
  • the privatized deployment interface ie, the preset deployment interface
  • Embodiments of the present application further provide an electronic device, including a memory, a processor, and a computer program stored on the memory and running on the processor, where the processor implements any of the above when executing the program
  • the plug-in update method provided by the embodiment is not limited to a Wi-Fi connection.
  • Embodiments of the present application further provide a computer-readable medium on which a computer program is stored, and when the program is executed by a processor, implements the plug-in update method provided by any of the foregoing embodiments.
  • An embodiment of the present application further provides a plug-in update system, as shown in FIG. 7 , including a version management server 501, a plug-in storage server 502, and an electronic device 503 configured to execute the plug-in update method described in any of the embodiments of the present application , the interaction between multiple devices can be referred to the description of the previous embodiment, which is not repeated here.
  • FIG. 8 shows a schematic structural diagram of a computer system 600 suitable for implementing the electronic device of the embodiment of the present application.
  • the electronic device shown in FIG. 8 is only an example, and should not impose any limitations on the functions and scope of use of the embodiments of the present application.
  • the computer system 600 includes a central processing unit (Central Processing Unit, CPU) 601, which can be loaded into a random device according to a program stored in a read-only memory (Read-Only Memory, ROM) 602 or from a storage part 608
  • CPU Central Processing Unit
  • RAM Random Access Memory
  • various programs and data required for the operation of the system 600 are also stored.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An Input/Output (I/O) interface 605 is also connected to the bus 604 .
  • the following components are connected to the I/O interface 605: an input section 606 including a keyboard, a mouse, etc.; an output section 607 including a cathode ray tube (CRT), a liquid crystal display (LCD), etc., and a speaker, etc. ; a storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a local area network (Local Area Network, LAN) card, a modem, and the like. The communication section 609 performs communication processing via a network such as the Internet.
  • a drive 610 is also connected to the I/O interface 605 as needed.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, etc., is mounted on the drive 610 as needed so that a computer program read therefrom is installed into the storage section 608 as needed.
  • embodiments disclosed herein include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the method illustrated in the flowchart.
  • the computer program may be downloaded and installed from the network via the communication portion 609 and/or installed from the removable medium 611 .
  • the computer program is executed by the CPU 601
  • the above-described functions defined in the system of the present application are executed.
  • the computer-readable medium shown in this application may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • the computer-readable storage medium can be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or a combination of any of the above.
  • Examples of computer-readable storage media may include, but are not limited to, electrical connections with one or more wires, portable computer disks, hard disks, RAM, ROM, Erasable Programmable Read-Only Memory (EPROM) or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take a variety of forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
  • a computer-readable signal medium can also be any computer-readable medium other than a computer-readable storage medium that can transmit, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device .
  • the program code embodied on the computer readable medium may be transmitted by any suitable medium, including but not limited to: wireless, wire, optical fiber cable, radio frequency (RF), etc., or any suitable combination of the above.
  • each block in the flowchart or block diagrams may represent a module, segment, or portion of code that contains one or more logical functions for implementing the specified functions executable instructions.
  • the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
  • the modules and/or units involved in the embodiments of the present application may be implemented in a software manner, and may also be implemented in a hardware manner.
  • the described modules and/or units can also be provided in the processor, for example, it can be described as: a processor includes a determination module, a download module and an update module.
  • the names of these modules do not, in one case, constitute a limitation on the module itself.
  • the present application also provides a computer-readable medium.
  • the computer-readable medium may be included in the device described in the above embodiments, or may exist alone without being assembled into the device.
  • the above-mentioned computer-readable medium carries one or more programs, and when the above-mentioned one or more programs are executed by a device, the device includes: determining the current core of the target plug-in using the shell module of the target plug-in referenced by the application program. Whether the module needs to be updated; when it is determined that the current core module needs to be updated, download the target core module of the target plug-in; update the current core module to the target core module.
  • the shell module of the target plug-in referenced by the application can be used to determine whether the current core module of the target plug-in needs to be updated.
  • the target core module of the target plug-in is downloaded, and the current The kernel module is updated to the target kernel module.
  • the plug-in includes a shell module and a core module, and the shell module of the plug-in is used to check whether the core module needs to be updated.
  • the automatic update avoids the need for manual operation of the user during the update process, and improves the update efficiency.

Abstract

L'invention concerne un procédé et un appareil de mise à jour de module d'extension, un dispositif électronique, un système et un support de stockage. Le procédé de mise à jour de module d'extension comprend les étapes consistant à : utiliser un module interpréteur de commandes d'un module d'extension cible référencé par un programme d'application pour déterminer si un module central actuel du module d'extension cible doit être mis à jour (101) ; lorsqu'il est déterminé que le module central actuel doit être mis à jour, télécharger un module central cible du module d'extension cible (102) ; et mettre à jour le module central actuel par le module central cible (103).
PCT/CN2021/139156 2021-03-01 2021-12-17 Procédé et appareil de mise à jour de module d'extension, dispositif électronique, système et support de stockage WO2022183810A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110226815.1 2021-03-01
CN202110226815.1A CN115080077A (zh) 2021-03-01 2021-03-01 插件更新方法、装置、电子设备、系统和存储介质

Publications (1)

Publication Number Publication Date
WO2022183810A1 true WO2022183810A1 (fr) 2022-09-09

Family

ID=83154993

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/139156 WO2022183810A1 (fr) 2021-03-01 2021-12-17 Procédé et appareil de mise à jour de module d'extension, dispositif électronique, système et support de stockage

Country Status (2)

Country Link
CN (1) CN115080077A (fr)
WO (1) WO2022183810A1 (fr)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141922A (zh) * 2010-01-29 2011-08-03 腾讯科技(深圳)有限公司 一种微内核插件化程序应用系统及其实现方法
CN102571860A (zh) * 2010-12-29 2012-07-11 北京新媒传信科技有限公司 一种管理插件的方法、装置及系统
CN102789389A (zh) * 2012-08-01 2012-11-21 深圳市茁壮网络股份有限公司 一种插件版本检测及升级的方法、插件检测器
US20140047429A1 (en) * 2012-08-10 2014-02-13 Adobe Systems Incorporated Directing plug-in updates for a software application to a target audience using manifest parameters
CN109144533A (zh) * 2017-06-28 2019-01-04 北京嘀嘀无限科技发展有限公司 一种应用程序的更新及加载的方法、系统及计算机装置
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102141922A (zh) * 2010-01-29 2011-08-03 腾讯科技(深圳)有限公司 一种微内核插件化程序应用系统及其实现方法
CN102571860A (zh) * 2010-12-29 2012-07-11 北京新媒传信科技有限公司 一种管理插件的方法、装置及系统
CN102789389A (zh) * 2012-08-01 2012-11-21 深圳市茁壮网络股份有限公司 一种插件版本检测及升级的方法、插件检测器
US20140047429A1 (en) * 2012-08-10 2014-02-13 Adobe Systems Incorporated Directing plug-in updates for a software application to a target audience using manifest parameters
CN109144533A (zh) * 2017-06-28 2019-01-04 北京嘀嘀无限科技发展有限公司 一种应用程序的更新及加载的方法、系统及计算机装置
CN110879713A (zh) * 2018-09-06 2020-03-13 山东华软金盾软件股份有限公司 一种android端强加密插件热更新管理方法

Also Published As

Publication number Publication date
CN115080077A (zh) 2022-09-20

Similar Documents

Publication Publication Date Title
US11762634B2 (en) Systems and methods for seamlessly integrating multiple products by using a common visual modeler
US10162624B1 (en) Web shell for dynamically generated cross-platform applications
US11934805B2 (en) Streamlined fast and efficient application building and customization systems and methods
WO2010113160A1 (fr) Procédé et système permettant d'émuler des applications de logiciel de bureau dans un réseau de communication mobile
CN110554876A (zh) 用于编译安卓工程的方法和装置
WO2020063252A1 (fr) Procédé et dispositif pour isoler une dépendance de multiples versions
CN110895471A (zh) 安装包生成方法、装置、介质及电子设备
WO2019029451A1 (fr) Procédé de publication d'applications mobiles et appareil électronique
CN108733370B (zh) 原生app的样式化显示方法、装置、终端及存储介质
CN110928571A (zh) 业务程序开发方法和装置
CA2966157A1 (fr) Surveillance d'une application de dispositif mobile
US9135001B2 (en) Dynamically configuring an integrated development environment
CN112394907A (zh) 基于容器的交付系统构建方法、应用交付方法和交付系统
CN112416303A (zh) 软件开发工具包热修复方法、装置及电子设备
Chowhan Hands-on Serverless Computing: Build, Run and Orchestrate Serverless Applications Using AWS Lambda, Microsoft Azure Functions, and Google Cloud Functions
WO2022183810A1 (fr) Procédé et appareil de mise à jour de module d'extension, dispositif électronique, système et support de stockage
CN113377342A (zh) 一种项目构建方法、装置、电子设备及存储介质
WO2022199324A1 (fr) Ajustement de paramètre de protocole de communication de phase d'exécution dans des applications conteneurisées
US11074071B1 (en) Emulation of an environment set by a sourced script written in a different scripting language
CN113805877A (zh) 基于idea插件的项目工程的构建方法及装置
CN109271182B (zh) 用于搜索引擎升级的方法及装置
CN113448602A (zh) 版本更新的方法和装置
CN116991355B (zh) 修改和迭代脚本支持led驱动芯片的方法、系统及装置
CN113805858B (zh) 持续部署脚本语言开发的软件的方法和装置
WO2022237826A1 (fr) Procédé et système de test d'interface utilisateur, grappe, support et produit-programme

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: 21928881

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 11.01.2024)