Application update method, system and device

By updating the application based on a combination of user-end attributes and functional module rules, the problem of randomly selecting test users in canary releases is solved, enabling targeted modular updates and reducing resource waste.

CN115617372BActive Publication Date: 2026-07-21BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING ZITIAO NETWORK TECH CO LTD
Filing Date
2022-10-26
Publication Date
2026-07-21

AI Technical Summary

Technical Problem

In existing technologies, the canary release method for application updates randomly selects test users, which lacks targeting, leading to wasted resources and unnecessary global updates.

Method used

Based on the user's attribute information and the application's functional modules' preset update rules, a matching combination of update rules is determined, and only the necessary functional modules are updated, thus achieving modular updates.

Benefits of technology

It reduces resource consumption during the update process, enables targeted canary updates, and improves update efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115617372B_ABST
    Figure CN115617372B_ABST
Patent Text Reader

Abstract

The present disclosure provides an application updating method, system and device, wherein the method comprises: in response to an updating request for a target application sent by a user terminal, determining, from each preset updating rule corresponding to each function module, an updating rule combination matching first attribute information of the user terminal carried in the updating request and each function module contained in the target application; determining, according to the updating rule combination, module updating information matching second attribute information of the user terminal; the module updating information comprises updating information of at least one target function module to be updated; and sending the updating information of the at least one target function module to the user terminal to instruct the user terminal to update the target function module based on the received updating information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of computer technology, and more specifically, to a method, system, and apparatus for updating an application. Background Technology

[0002] With the rapid development of internet technology, application versions are being updated more and more frequently. To ensure the stability of applications after updates, developers typically use a canary release method to release updated versions.

[0003] In related technologies, when releasing an update using a canary release method, a random sampling approach is typically used. A subset of test users are selected from those using the application, and the update is pushed to them, reminding them to update. If the update performs stably after testing, the rollout is gradually expanded until it reaches all users of the application. However, because this method involves random sampling, the selected test users may not be eligible for subsequent updates, lacking specificity. Furthermore, during canary release testing, only a specific functional module of the application may need to be updated, while users often need to update the entire application, leading to wasted resources. Summary of the Invention

[0004] This disclosure provides at least one method, system, and apparatus for updating an application.

[0005] In a first aspect, embodiments of this disclosure provide a method for updating an application, comprising:

[0006] In response to an update request for a target application sent by a user terminal, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, and the combination of update rules includes one update rule corresponding to each functional module of the target application.

[0007] Based on the combination of the update rules, determine the module update information that matches the second attribute information of the user terminal; the module update information includes update information of at least one target functional module to be updated;

[0008] The update information of the at least one target functional module is sent to the user terminal to instruct the user terminal to update the target functional module based on the received update information.

[0009] In one possible implementation, the step of determining a combination of update rules matching the first attribute information from preset update rules corresponding to each of the functional modules included in the target application, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, includes:

[0010] For any of the functional modules of the target application, if based on the first attribute information, it is determined that among the multiple update rules corresponding to the functional module, there are update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application shall be used as the update rules matching the functional module.

[0011] In one possible implementation, the update rule includes a grayscale update rule for determining whether a grayscale update should be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rule.

[0012] The step of determining the module update information that matches the second attribute information of the user terminal according to the update rule combination includes:

[0013] Based on the second attribute information and the dynamic update rule, the dynamic update result corresponding to the user terminal is determined;

[0014] If the dynamic update result is detected to be an update according to the update rule, the module update information corresponding to the user terminal is determined based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information after the functional module is updated.

[0015] In one possible implementation, the second attribute information includes the initial version information corresponding to each functional module in the target application, and the user terminal identification information corresponding to the user terminal.

[0016] The step of determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule includes:

[0017] Based on the user terminal identification information and the grayscale update rule, the grayscale update result corresponding to the user terminal is determined;

[0018] If the grayscale update result indicates that a grayscale update is to be performed, the update information of the module is determined based on the initial version information corresponding to each functional module and the grayscale update rules.

[0019] In one possible implementation, determining the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule includes:

[0020] Based on the user terminal identification information and the random hash algorithm, the first value corresponding to the user terminal is determined;

[0021] According to a preset mapping relationship, the first value is converted into a second value in a first base;

[0022] Perform a base conversion on the second value to convert it into a third value in binary.

[0023] Based on the third numerical value and the grayscale update probability in the grayscale update rule, the grayscale update result of the user terminal is determined.

[0024] Secondly, embodiments of this disclosure also provide an application update system, including a user terminal, a server terminal, and a management terminal, wherein:

[0025] The user terminal is used to send an update request for the target application to the server; update the target functional modules of the target application based on the received update information corresponding to the update request; the update request carries the attribute information of the user terminal.

[0026] The server is configured to, based on the first attribute information in the attribute information, determine, from multiple update rules uploaded by the management terminal, a combination of update rules matching the target application of the user terminal; determine, according to the combination of update rules, module update information matching the second attribute information in the attribute information; wherein, the module update information includes update information of at least one target functional module to be updated; and send the update information of the at least one target functional module to the user terminal.

[0027] The management terminal is used to send multiple update rules and the first attribute information of the user terminal that matches each update rule to the server in response to the update rule editing operation.

[0028] In one possible implementation, the management terminal is further configured to:

[0029] Send the module code corresponding to each functional module to the server;

[0030] When the user terminal updates the target functional modules of the target application based on the update information, it is used to:

[0031] For any of the target functional modules, based on the updated target version information corresponding to the functional module in the update information, obtain the module code corresponding to the target version information, and update the initial code corresponding to the target functional module based on the module code.

[0032] Thirdly, embodiments of this disclosure also provide an application update apparatus, comprising:

[0033] The first determining module is configured to respond to an update request for a target application sent by a user terminal, and based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, determine a combination of update rules that matches the first attribute information from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, and the combination of update rules includes one update rule corresponding to each functional module of the target application.

[0034] The second determining module is used to determine module update information that matches the second attribute information of the user terminal according to the combination of the update rules; the module update information includes update information of at least one target functional module to be updated;

[0035] A sending module is configured to send update information of the at least one target functional module to the user terminal, so as to instruct the user terminal to update the target functional module based on the received update information.

[0036] In one possible implementation, the first determining module, when determining a combination of update rules matching the first attribute information from preset update rules corresponding to each functional module based on the first attribute information carried in the update request and the various functional modules included in the target application, is configured to:

[0037] For any of the functional modules of the target application, if based on the first attribute information, it is determined that among the multiple update rules corresponding to the functional module, there are update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application shall be used as the update rules matching the functional module.

[0038] In one possible implementation, the update rule includes a grayscale update rule for determining whether a grayscale update should be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rule.

[0039] The second determining module, when determining the module update information that matches the second attribute information of the user terminal according to the update rule combination, is used to:

[0040] Based on the second attribute information and the dynamic update rule, the dynamic update result corresponding to the user terminal is determined;

[0041] If the dynamic update result is detected to be an update according to the update rule, the module update information corresponding to the user terminal is determined based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information after the functional module is updated.

[0042] In one possible implementation, the second attribute information includes the initial version information corresponding to each functional module in the target application, and the user terminal identification information corresponding to the user terminal.

[0043] The second determining module, when determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule, is used to:

[0044] Based on the user terminal identification information and the grayscale update rule, the grayscale update result corresponding to the user terminal is determined;

[0045] If the grayscale update result indicates that a grayscale update is to be performed, the update information of the module is determined based on the initial version information corresponding to each functional module and the grayscale update rules.

[0046] In one possible implementation, the second determining module, when determining the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule, is used to:

[0047] Based on the user terminal identification information and the random hash algorithm, the first value corresponding to the user terminal is determined;

[0048] According to a preset mapping relationship, the first value is converted into a second value in a first base;

[0049] Perform a base conversion on the second value to convert it into a third value in binary.

[0050] Based on the third numerical value and the grayscale update probability in the grayscale update rule, the grayscale update result of the user terminal is determined.

[0051] Fourthly, embodiments of this disclosure also provide a computer device, including: a processor, a memory, and a bus, wherein the memory stores machine-readable instructions executable by the processor, and when the computer device is running, the processor communicates with the memory via the bus, and when the machine-readable instructions are executed by the processor, the steps of the first aspect above, or any possible implementation of the first aspect, are performed.

[0052] Fifthly, embodiments of this disclosure also provide a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the first aspect or any possible implementation thereof.

[0053] The application update method, system, and apparatus provided in this disclosure respond to an update request for a target application sent by a user terminal. Based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from preset update rules corresponding to each functional module. This allows for modular updates of the target application by pre-setting update rules corresponding to different functional modules, reducing resource consumption during the update process. According to the combination of update rules, module update information matching the second attribute information of the user terminal is determined, and the update information of at least one target functional module is sent to the user terminal to instruct the user terminal to update the target functional module based on the received update information. This allows for the selection of matching gray-scale test users for different functional modules of the application, enabling targeted gray-scale updates.

[0054] To make the above-mentioned objects, features and advantages of this disclosure more apparent and understandable, preferred embodiments are described below in detail with reference to the accompanying drawings. Attached Figure Description

[0055] To more clearly illustrate the technical solutions of the embodiments of this disclosure, the accompanying drawings used in the embodiments will be briefly described below. These drawings are incorporated in and constitute a part of this specification. They illustrate embodiments conforming to this disclosure and, together with the specification, serve to explain the technical solutions of this disclosure. It should be understood that the following drawings only show some embodiments of this disclosure and should not be considered as limiting the scope. Those skilled in the art can obtain other related drawings based on these drawings without creative effort.

[0056] Figure 1 A flowchart illustrating an application update method provided in an embodiment of this disclosure is shown;

[0057] Figure 2 An architecture diagram of an application update system provided in an embodiment of this disclosure is shown;

[0058] Figure 3 A schematic diagram of the architecture of an application update apparatus provided in an embodiment of this disclosure is shown;

[0059] Figure 4 A schematic diagram of the structure of a computer device provided in an embodiment of this disclosure is shown. Detailed Implementation

[0060] To make the objectives, technical solutions, and advantages of the embodiments of this disclosure clearer, the technical solutions of the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this disclosure, and not all of them. The components of the embodiments of this disclosure described and shown in the accompanying drawings can generally be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this disclosure provided in the accompanying drawings is not intended to limit the scope of the claimed disclosure, but merely represents selected embodiments of this disclosure. All other embodiments obtained by those skilled in the art based on the embodiments of this disclosure without inventive effort are within the scope of protection of this disclosure.

[0061] It should be noted that similar labels and letters in the following figures indicate similar items. Therefore, once an item is defined in one figure, it does not need to be further defined and explained in subsequent figures.

[0062] In this document, the term "and / or" merely describes a relationship, indicating that three relationships can exist. For example, A and / or B can represent three cases: A alone, A and B simultaneously, and B alone. Furthermore, the term "at least one" in this document means any combination of at least two of any one or more elements. For example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C.

[0063] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0064] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0065] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0066] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0067] Research has found that when releasing updates using a canary release method, a random selection process is typically employed. A subset of test users are chosen from among all users of the application, and the update is pushed to them, reminding them to update. If the update performs stably after testing, the rollout is gradually expanded until it reaches all users of the application. However, because this method involves random selection of test users, these users may not be eligible for subsequent updates, resulting in a lack of targeting. Furthermore, during canary release testing, only a specific functional module of the application may need to be updated, while users often need to update the entire application, leading to wasted resources.

[0068] For example, in the latest version A of the related technology, during the gray-scale testing process, 30 users are randomly selected from 100 users for gray-scale updates. However, among these 30 users, 5 users may be unable to update to the subsequent version to complete the gray-scale test due to reasons such as low terminal device performance or low user version. Furthermore, gray-scale updates require updating all version content, which consumes a lot of resources.

[0069] Based on the above research, this disclosure provides an application update method, system, and apparatus. Upon receiving an update request from a user terminal, based on the user terminal's first attribute information carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from preset update rules corresponding to each functional module. This allows for modular updates of the target application by pre-setting update rules for different functional modules, reducing resource consumption during the update process. According to the combination of update rules, module update information matching the user terminal's second attribute information is determined, and the update information of at least one target functional module is sent to the user terminal, instructing the user terminal to update the target functional module based on the received update information. In this way, matching gray-scale test users are selected for different functional modules of the application, achieving targeted gray-scale updates.

[0070] To facilitate understanding of this embodiment, a method for updating an application disclosed in this disclosure will first be described in detail. The execution subject of the application update method provided in this disclosure is generally a computer device with certain computing capabilities, such as a server or other processing device. In some possible implementations, the application update method can be implemented by the processor calling computer-readable instructions stored in memory.

[0071] See Figure 1 The diagram shows a flowchart of an application update method provided in this embodiment of the present disclosure. The method includes steps S101 to S103, wherein:

[0072] S101: In response to an update request for a target application sent by a user terminal, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, determine a combination of update rules that matches the first attribute information from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, and the combination of update rules includes one update rule corresponding to each functional module of the target application.

[0073] S102: According to the combination of the update rules, determine the module update information that matches the second attribute information of the user terminal; the module update information includes the update information of at least one target functional module to be updated.

[0074] S103: Send the update information of the at least one target functional module to the user terminal to instruct the user terminal to update the target functional module based on the received update information.

[0075] The following is a detailed explanation of the steps described above.

[0076] Regarding S101, the update request may be generated, for example, by the user client of the target application after the update detection button on the update information display page is triggered, or it may be generated by the user client of the target application after meeting preset update detection conditions. The update detection conditions may be, for example, the time interval since the last update detection meets a preset time interval. The first attribute information may include user-authorized user client identification information, user client platform parameters, and initial version information corresponding to each functional module in the target application. The user client identification information may be, for example, a user account (Identity Document, ID), a user game ID, or an International Mobile Equipment Identity (IMEI) corresponding to the user client. The user client platform parameters are used to characterize the platform corresponding to the user client, such as an Android platform or an iOS platform.

[0077] The functional modules can be code modules that make up an application. Different functional modules are used to implement different functions in the application. For example, the functional modules can include a login module, a chat module, etc. The code in the login module can be used to implement the login function in the application, and the code in the chat module can be used to implement the chat function in the application.

[0078] It should be noted that the functional module can be applied to different applications. For example, the login modules of application A and application B are the same functional module, which enables the reuse of functional modules. In addition, the amount of code to be maintained can be reduced when maintaining functional modules.

[0079] The update rules may include gray-scale update rules for determining whether to perform a gray-scale update, and dynamic update rules for determining whether an update needs to be performed according to the update rules. For example, a gray-scale update rule might be that if the user's platform parameters are the target platform and the initial version information is between version 2 and version 4, then a gray-scale update to version 5 can be performed, satisfying the gray-scale update rule. In practical applications, due to issues such as the user's application version being too low, updating according to the update rules may not be suitable. Therefore, to avoid abnormal situations such as user crashes caused by updating the user's application according to the update rules, developers can set dynamic update rules in the update rules. This ensures that the application is updated according to the update rules only if the first attribute information meets the dynamic update rules; otherwise, the application is not updated according to the update rules.

[0080] Since different applications may have the same functional modules (for example, both application A and application B have a login module), but the requirements of different applications for functional modules may not be exactly the same, when developers set multiple update rules corresponding to a functional module, the update rules corresponding to the functional module may include update rules that match the functional module and the target application, as well as rules that match the functional module and all applications. Among them, the matching priority of the update rules that match the functional module and the target application is higher than that of the update rules that match the functional module and all applications.

[0081] In one possible implementation, when determining a combination of update rules matching the first attribute information from the preset update rules corresponding to each functional module based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, for any functional module of the target application, if based on the first attribute information it is determined that the multiple update rules corresponding to the functional module include update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application can be used as the update rules matching the functional module.

[0082] Furthermore, for any functional module of the target application, if none of the multiple update rules corresponding to that functional module are specific to the target application, then the update rule shared by multiple applications, including the target application, can be used as the update rule matching that functional module.

[0083] For example, the update rules for functional module 1 set by the developer include update rule 1 that matches functional module 1 and application 1 (i.e. application 1 specific), and update rule 2 that matches functional module 1 and each application. When a combination of update rules that matches application 1 on the user terminal is determined from the pre-stored update rules of different functional modules, the update rule that matches functional module 1 in application 1 is update rule 1.

[0084] S102: According to the combination of the update rules, determine the module update information that matches the second attribute information of the user terminal; the module update information includes the update information of at least one target functional module to be updated.

[0085] Here, the second attribute information may include the initial version information corresponding to each functional module in the target application, and the user terminal identification information corresponding to the user terminal. The second attribute information may be the same as the first attribute information. The update information may include the target version information after the functional module is updated.

[0086] In addition, the second attribute information may also include terminal device attribute information corresponding to the user terminal. The terminal device attribute information may include at least one of the following: terminal device model, terminal device network information, terminal device storage space information, terminal device processor information, etc. The terminal device attribute information can be used to determine the module update information that matches the user terminal.

[0087] In one possible implementation, when determining the module update information that matches the second attribute information of the user terminal according to the update rule combination, the following steps A1 to A2 can be used:

[0088] A1: Based on the second attribute information and the dynamic update rule, determine the dynamic update result corresponding to the user terminal.

[0089] Here, the second attribute information can be judged by the dynamic update rule to determine whether the second attribute information of the user terminal conforms to the dynamic update rule. If it does not conform to the dynamic update rule, it can be determined that the dynamic update result of the user terminal is not updated according to the update rule; if it conforms to the dynamic update rule, it can be determined that the dynamic update result of the user terminal is updated according to the update rule.

[0090] For example, the dynamic update rule may be that the initial version information of the functional module 1 corresponding to the user terminal is a version from version 3 to version 5. If the initial version information of the functional module 1 in the second attribute information of the user terminal is version 1, then the user terminal does not meet the dynamic update rule, and the dynamic update result of the user terminal is not to update according to the update rule.

[0091] A2: If the dynamic update result is detected to be an update according to the update rule, the module update information corresponding to the user terminal is determined based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information after the functional module is updated.

[0092] Here, the gray-scale update rule is used to determine whether to perform a gray-scale update on the user terminal based on the second attribute information of the user terminal, and how to update the functional modules of the target application. For example, there may be multiple versions available for update during a gray-scale update, and the gray-scale update rule can be used to determine which version of the multiple versions the functional modules of the user terminal should be updated to.

[0093] In one possible implementation, when determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule, the grayscale update result corresponding to the user terminal can be determined based on the user terminal identification information and the grayscale update rule; and when it is detected that the grayscale update result indicates that a grayscale update is to be performed, the module update information is determined based on the initial version information corresponding to each functional module and the grayscale update rule.

[0094] The gray-scale update rule may include a mapping relationship between initial version information and target version information. Based on the mapping relationship and the initial version information, the updated target version information corresponding to each functional module can be determined.

[0095] In one possible implementation, when determining the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule, the following steps A21 to A24 can be used:

[0096] A21: Based on the user terminal identification information and the random hash algorithm, determine the first value corresponding to the user terminal.

[0097] Here, the random hash algorithm can be used to convert the string corresponding to the user terminal identification information into a first value corresponding to the user terminal.

[0098] A22: Based on a preset mapping relationship, convert the first value into a second value in the first base.

[0099] Here, the first base can be, for example, base-62, and the mapping relationship is a mapping relationship that matches the first base.

[0100] For example, taking the first base as base 62, the preset mapping relationship can be a one-to-one correspondence between the 26 lowercase English letters "az" and the 26 numbers "10-35"; and a one-to-one correspondence between the 26 uppercase English letters "AZ" and the 26 numbers "36-61". Thus, the first value can be converted into a second value in base 62 according to the mapping relationship.

[0101] A23: Perform a base conversion on the second value to convert the second value into a third value in binary.

[0102] Here, the binary number can be, for example, a decimal number. By performing a base conversion process on the second value, the second value can be converted into a third value in the decimal range, which facilitates subsequent grayscale update judgment.

[0103] A24: Based on the third value and the grayscale update probability in the grayscale update rule, determine the grayscale update result of the user terminal.

[0104] Here, the grayscale update probability is used to characterize the probability of a user terminal performing a grayscale update. Since a grayscale update requires some user terminals to perform a grayscale update first, the user terminal also needs to use the grayscale update probability to determine whether a grayscale update is needed after the dynamic update rules are met.

[0105] For example, taking the first base as base 62, the second base as base 10, the first value as n bits, and the grayscale update probability as y, if the third value is within the target value range of 0 to y*62^n, then the grayscale update result of the user terminal can be determined to be grayscale update; if the third value is not within the target value range, then the grayscale update result of the user terminal can be determined to be no grayscale update.

[0106] Furthermore, if it is determined that the grayscale update result of the user terminal is to perform a grayscale update, the target version information of each functional module of the target application after the update can also be determined based on the grayscale update rules and the second attribute information of the user terminal.

[0107] S103: Send the update information of the at least one target functional module to the user terminal to instruct the user terminal to update the target functional module based on the received update information.

[0108] Here, after receiving the update information of the at least one target functional module, the user terminal can generate and display update prompt information based on the update information of the at least one target functional module, and in response to the user terminal receiving an update resource acquisition request for the target functional module, retrieve the updated module code corresponding to the target functional module from the database corresponding to the user terminal, so that the initial code corresponding to the target functional module can be updated based on the module code.

[0109] See Figure 2 The diagram shown is an architecture diagram of an application update system provided in this embodiment of the present disclosure. The application update system includes a user terminal 21, a server terminal 22, and a management terminal 23, wherein:

[0110] The user terminal 21 is used to send an update request for the target application to the server 22; update the target functional modules of the target application based on the received update information corresponding to the update request; the update request carries the attribute information of the user terminal 21.

[0111] The server 22 is configured to, based on the first attribute information in the attribute information, determine, from multiple update rules uploaded by the management terminal 23, a combination of update rules that matches the target application of the user terminal 21; determine, according to the combination of update rules, module update information that matches the second attribute information in the attribute information; wherein, the module update information includes update information of at least one target functional module to be updated; and send the update information of the at least one target functional module to the user terminal 21.

[0112] The management terminal 23 is used to send multiple update rules and the first attribute information of the user terminal matching each update rule to the server terminal 22 in response to the update rule editing operation.

[0113] In one possible implementation, the management terminal 23 can also be used to send the module code corresponding to each functional module to the server terminal 22;

[0114] When updating the target functional modules of the target application based on the update information, the user terminal 21 can, for any target functional module, obtain the module code corresponding to the target version information based on the updated target version information corresponding to the functional module in the update information, and update the initial code corresponding to the target functional module based on the module code.

[0115] The application update method provided in this disclosure responds to an update request for a target application sent by a user terminal. Based on the user terminal's first attribute information carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from preset update rules corresponding to each functional module. This allows for modular updates of the target application by pre-setting update rules for different functional modules, reducing resource consumption during the update process. According to the combination of update rules, module update information matching the user terminal's second attribute information is determined, and the update information of at least one target functional module is sent to the user terminal to instruct the user terminal to update the target functional module based on the received update information. This allows for the selection of matching gray-scale test users for different functional modules of the application, enabling targeted gray-scale updates.

[0116] Those skilled in the art will understand that, in the above-described method of the specific implementation, the order in which each step is written does not imply a strict execution order and does not constitute any limitation on the implementation process. The specific execution order of each step should be determined by its function and possible internal logic.

[0117] Based on the same inventive concept, this disclosure also provides an application update device corresponding to the application update method. Since the principle of the device in this disclosure for solving the problem is similar to the application update method described above in this disclosure, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.

[0118] Reference Figure 3 The diagram shown is an architectural schematic of an application update device provided in an embodiment of this disclosure. The device includes: a receiving module 301, a determining module 302, and a sending module 303; wherein,

[0119] The first determining module 301 is configured to respond to an update request for a target application sent by a user terminal, and based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, determine a combination of update rules that matches the first attribute information from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, and the combination of update rules includes one update rule corresponding to each functional module of the target application.

[0120] The second determining module 302 is used to determine module update information that matches the second attribute information of the user terminal according to the combination of the update rules; the module update information includes update information of at least one target functional module to be updated;

[0121] The sending module 303 is used to send the update information of the at least one target functional module to the user terminal, so as to instruct the user terminal to update the target functional module based on the received update information.

[0122] In one possible implementation, the first determining module 301, when determining a combination of update rules matching the first attribute information from preset update rules corresponding to each functional module based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, is used to:

[0123] For any of the functional modules of the target application, if based on the first attribute information, it is determined that among the multiple update rules corresponding to the functional module, there are update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application shall be used as the update rules matching the functional module.

[0124] In one possible implementation, the update rule includes a grayscale update rule for determining whether a grayscale update should be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rule.

[0125] The second determining module 302, when determining module update information that matches the second attribute information of the user terminal according to the update rule combination, is used to:

[0126] Based on the second attribute information and the dynamic update rule, the dynamic update result corresponding to the user terminal is determined;

[0127] If the dynamic update result is detected to be an update according to the update rule, the module update information corresponding to the user terminal is determined based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information after the functional module is updated.

[0128] In one possible implementation, the second attribute information includes the initial version information corresponding to each functional module in the target application, and the user terminal identification information corresponding to the user terminal.

[0129] The second determining module 302, when determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule, is used to:

[0130] Based on the user terminal identification information and the grayscale update rule, the grayscale update result corresponding to the user terminal is determined;

[0131] If the grayscale update result indicates that a grayscale update is to be performed, the update information of the module is determined based on the initial version information corresponding to each functional module and the grayscale update rules.

[0132] In one possible implementation, the second determining module 302, when determining the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule, is used to:

[0133] Based on the user terminal identification information and the random hash algorithm, the first value corresponding to the user terminal is determined;

[0134] According to a preset mapping relationship, the first value is converted into a second value in a first base;

[0135] Perform a base conversion on the second value to convert it into a third value in binary.

[0136] Based on the third numerical value and the grayscale update probability in the grayscale update rule, the grayscale update result of the user terminal is determined.

[0137] The application update apparatus provided in this disclosure, in response to an update request for a target application sent by a user terminal, determines a combination of update rules matching the first attribute information from preset update rules corresponding to each functional module, based on first attribute information of the user terminal carried in the update request and various functional modules included in the target application. This allows for modular updates of the target application by pre-setting update rules for different functional modules, reducing resource consumption during the update process. According to the combination of update rules, it determines module update information matching second attribute information of the user terminal and sends the update information of at least one target functional module to the user terminal, instructing the user terminal to update the target functional module based on the received update information. This allows for the selection of matching gray-scale test users for different functional modules of the application, enabling targeted gray-scale updates.

[0138] The processing flow of each module in the device and the interaction flow between each module can be referred to the relevant descriptions in the above method embodiments, and will not be detailed here.

[0139] Based on the same technical concept, this disclosure also provides a computer device. (See also...) Figure 4The diagram shows the structure of a computer device 400 provided in this embodiment, including a processor 401, a memory 402, and a bus 403. The memory 402 stores execution instructions and includes main memory 4021 and external memory 4022. The main memory 4021, also called internal memory, is used to temporarily store computational data in the processor 401 and data exchanged with external memory 4022 such as a hard disk. The processor 401 exchanges data with the external memory 4022 through the main memory 4021. When the computer device 400 is running, the processor 401 and the memory 402 communicate through the bus 403, causing the processor 401 to execute the following instructions:

[0140] In response to an update request for a target application sent by a user terminal, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, and the combination of update rules includes one update rule corresponding to each functional module of the target application.

[0141] Based on the combination of the update rules, determine the module update information that matches the second attribute information of the user terminal; the module update information includes update information of at least one target functional module to be updated;

[0142] The update information of the at least one target functional module is sent to the user terminal to instruct the user terminal to update the target functional module based on the received update information.

[0143] In one possible implementation, the instructions of the processor 401, wherein determining a combination of update rules matching the first attribute information from preset update rules corresponding to each of the functional modules included in the target application, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, includes:

[0144] For any of the functional modules of the target application, if based on the first attribute information, it is determined that among the multiple update rules corresponding to the functional module, there are update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application shall be used as the update rules matching the functional module.

[0145] In one possible implementation, the instructions of the processor 401 include a grayscale update rule for determining whether a grayscale update is to be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rule.

[0146] The step of determining the module update information that matches the second attribute information of the user terminal according to the update rule combination includes:

[0147] Based on the second attribute information and the dynamic update rule, the dynamic update result corresponding to the user terminal is determined;

[0148] If the dynamic update result is detected to be an update according to the update rule, the module update information corresponding to the user terminal is determined based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information after the functional module is updated.

[0149] In one possible implementation, the instructions of the processor 401 include, in the second attribute information, initial version information corresponding to each functional module in the target application and user terminal identification information corresponding to the user terminal.

[0150] The step of determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule includes:

[0151] Based on the user terminal identification information and the grayscale update rule, the grayscale update result corresponding to the user terminal is determined;

[0152] If the grayscale update result indicates that a grayscale update is to be performed, the update information of the module is determined based on the initial version information corresponding to each functional module and the grayscale update rules.

[0153] In one possible implementation, the instruction of the processor 401, which determines the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule, includes:

[0154] Based on the user terminal identification information and the random hash algorithm, the first value corresponding to the user terminal is determined;

[0155] According to a preset mapping relationship, the first value is converted into a second value in a first base;

[0156] Perform a base conversion on the second value to convert it into a third value in binary.

[0157] Based on the third numerical value and the grayscale update probability in the grayscale update rule, the grayscale update result of the user terminal is determined.

[0158] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, performs the steps of the application update method described in the above method embodiments. The storage medium may be a volatile or non-volatile computer-readable storage medium.

[0159] This disclosure also provides a computer program product carrying program code. The program code includes instructions that can be used to execute the steps of the application update method described in the above method embodiments. For details, please refer to the above method embodiments, which will not be repeated here.

[0160] The aforementioned computer program product can be implemented through hardware, software, or a combination thereof. In one optional embodiment, the computer program product is specifically embodied in a computer storage medium; in another optional embodiment, the computer program product is specifically embodied in a software product, such as a software development kit (SDK), etc.

[0161] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems and devices described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here. In the several embodiments provided in this disclosure, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division; in actual implementation, there may be other division methods. Furthermore, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Another point is that the displayed or discussed mutual coupling or direct coupling or communication connection may be through some communication interfaces; the indirect coupling or communication connection of devices or units may be electrical, mechanical, or other forms.

[0162] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0163] In addition, the functional units in the various embodiments of this disclosure can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.

[0164] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this disclosure, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this disclosure. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0165] Finally, it should be noted that the above-described embodiments are merely specific implementations of this disclosure, used to illustrate the technical solutions of this disclosure, and not to limit it. The protection scope of this disclosure is not limited thereto. Although this disclosure has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that any person skilled in the art can still modify or easily conceive of changes to the technical solutions described in the foregoing embodiments, or make equivalent substitutions for some of the technical features, within the scope of the technology disclosed in this disclosure. Such modifications, changes, or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this disclosure, and should all be covered within the protection scope of this disclosure. Therefore, the protection scope of this disclosure should be determined by the protection scope of the claims.

Claims

1. A method for updating an application, characterized in that, include: In response to an update request for a target application sent by a user terminal, based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, a combination of update rules matching the first attribute information is determined from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, the combination of update rules includes an update rule corresponding to each functional module of the target application, and the update rules include a gray-scale update rule for determining whether a gray-scale update should be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rules; Based on the second attribute information of the user terminal and the dynamic update rule, the dynamic update result corresponding to the user terminal is determined; if it is detected that the dynamic update result is an update according to the update rule, based on the second attribute information and the gray-scale update rule, the module update information corresponding to the user terminal is determined; wherein, the module update information includes the target version information of the target functional module after the update; the module update information includes the update information of at least one target functional module to be updated, and the update information includes the target version information of the target functional module after the update; The update information of the at least one target functional module is sent to the user terminal to instruct the user terminal to update the target functional module based on the received update information.

2. The method according to claim 1, characterized in that, Based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, the step of determining a combination of update rules matching the first attribute information from the preset update rules corresponding to each functional module includes: For any of the functional modules of the target application, if based on the first attribute information, it is determined that among the multiple update rules corresponding to the functional module, there are update rules specific to the target application and update rules shared by multiple applications including the target application, then the update rules specific to the target application are used as the update rules that match the functional module.

3. The method according to claim 1, characterized in that, The second attribute information includes the initial version information corresponding to each functional module in the target application, and the user terminal identification information corresponding to the user terminal; The step of determining the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule includes: Based on the user terminal identification information and the grayscale update rule, the grayscale update result corresponding to the user terminal is determined; If the grayscale update result indicates that a grayscale update is to be performed, the update information of the module is determined based on the initial version information corresponding to each functional module and the grayscale update rules.

4. The method according to claim 3, characterized in that, The step of determining the grayscale update result corresponding to the user terminal based on the user terminal identification information and the grayscale update rule includes: Based on the user terminal identification information and the random hash algorithm, the first value corresponding to the user terminal is determined; According to a preset mapping relationship, the first value is converted into a second value in a first base; Perform a base conversion on the second value to convert it into a third value in binary. Based on the third numerical value and the grayscale update probability in the grayscale update rule, the grayscale update result of the user terminal is determined.

5. An application update system, characterized in that, This includes the user interface, server interface, and management interface, among which: The user terminal is used to send an update request for the target application to the server; update the target functional modules of the target application based on the received update information corresponding to the update request; the update request carries the attribute information of the user terminal. The server is configured to, based on the first attribute information in the attribute information, determine, from multiple update rules uploaded by the management terminal, a combination of update rules matching the target application of the user terminal. The update rules include gray-scale update rules for determining whether a gray-scale update is needed, and dynamic update rules for determining whether an update needs to be performed according to the update rules. Based on the second attribute information of the user terminal and the dynamic update rules, the server determines the dynamic update result corresponding to the user terminal. If the dynamic update result indicates an update according to the update rules, based on the second attribute information and the gray-scale update rules, the server determines module update information corresponding to the user terminal. The module update information includes update information for at least one target functional module to be updated, and the update information includes the target version information of the updated target functional module. The server then sends the update information of the at least one target functional module to the user terminal. The management terminal is used to send multiple update rules and the first attribute information of the user terminal that matches each update rule to the server in response to the update rule editing operation.

6. The system according to claim 5, characterized in that, The management terminal is also used for: Send the module code corresponding to each functional module to the server; When the user terminal updates the target functional modules of the target application based on the update information, it is used to: For any of the target functional modules, based on the updated target version information corresponding to the target functional module in the update information, obtain the module code corresponding to the target version information, and update the initial code corresponding to the target functional module based on the module code.

7. An application update apparatus, characterized in that, include: The first determining module is configured to respond to an update request for a target application sent by a user terminal, and based on the first attribute information of the user terminal carried in the update request and the various functional modules included in the target application, determine a combination of update rules that matches the first attribute information from the preset update rules corresponding to each functional module; wherein each functional module corresponds to at least one of the preset update rules, the combination of update rules includes an update rule corresponding to each functional module of the target application, and the update rules include a gray-scale update rule for determining whether a gray-scale update should be performed, and a dynamic update rule for determining whether an update needs to be performed according to the update rules; The second determining module is used to determine the dynamic update result corresponding to the user terminal based on the second attribute information of the user terminal and the dynamic update rule; when it is detected that the dynamic update result is an update according to the update rule, it determines the module update information corresponding to the user terminal based on the second attribute information and the grayscale update rule; wherein, the module update information includes the target version information of the target functional module after the update; the module update information includes the update information of at least one target functional module to be updated, and the update information includes the target version information of the target functional module after the update; A sending module is configured to send update information of the at least one target functional module to the user terminal, so as to instruct the user terminal to update the target functional module based on the received update information.

8. A computer device, characterized in that, include: The computer device includes a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the computer device is running, the processor communicates with the memory via the bus. When the machine-readable instructions are executed by the processor, they perform the steps of the application update method as described in any one of claims 1 to 4.

9. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the steps of the application update method as described in any one of claims 1 to 4.