Gray release method and device of application program, electronic equipment and storage medium

By automatically selecting the release process by detecting application status information, the problem of low efficiency and high risk of canary release caused by system incompatibility in the existing technology is solved, realizing automated canary release, improving efficiency and reducing risk.

CN113590183BActive Publication Date: 2026-04-24北京自如信息科技有限公司
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
北京自如信息科技有限公司
Filing Date
2021-08-11
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

In existing technologies, the APS, distribution channel management, version management platform and APM online monitoring systems of the canary release system are not interconnected, which requires release personnel to manually configure them, lacks data aggregation and monitoring reminders, and makes it difficult to respond to online issues in a timely manner.

Method used

This paper provides a method for canary deployment of an application. By detecting the status information of the target application in a group of user devices, it automatically selects the deployment process and adopts different deployment strategies in stable or unstable states, including full deployment and canary deployment, to achieve automated canary deployment.

Benefits of technology

It improves the efficiency of canary releases, reduces release risks, minimizes manual configuration operations, and ensures system stability and timely problem detection.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113590183B_ABST
    Figure CN113590183B_ABST
Patent Text Reader

Abstract

The application discloses a gray release method and device of an application program, electronic equipment and a storage medium. The method comprises the following steps: obtaining an application installation package of a target version of a target application program to be released in gray; detecting state information of a current version of the target application program in a first user equipment group; determining a target release process of the application installation package according to the state information; and releasing the application installation package based on the target release process. Before a new version of the application program is released, the state information of the current version in the user equipment group is detected, different release processes are selected according to different state information, and the whole process does not need to be manually configured between different systems. The gray release of the gray version of the application program is automatically realized, the gray release efficiency is improved, and the gray release risk is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, electronic device, and storage medium for grayscale deployment of an application. Background Technology

[0002] Gray release refers to a version release method that allows for a smooth transition between historical versions and gray-scale test versions. This ensures the stability of the overall system and allows for the identification and adjustment of problems during the initial gray-scale release, thereby reducing the impact of gray-scale anomalies on users.

[0003] In the industry, canary release methods typically involve operations engineers manually configuring version upgrades for one or a few channels, followed by manual collection and analysis of canary release metrics after a certain period. Currently, when using canary release systems, there is a lack of integration between systems such as APS, distribution channel management, version management platforms, and APM online monitoring. Release personnel need to manually configure these systems offline. Furthermore, there is a lack of online data aggregation and monitoring mechanisms for canary packages, making it difficult to respond promptly to online issues and at various stages. Summary of the Invention

[0004] To address, or at least partially address, the aforementioned technical problems, this application provides a method for canary release of an application.

[0005] According to one aspect of the embodiments of this application, a method for canary release of an application is provided, comprising:

[0006] Obtain the application installation package for the target version of the target application to be released in a canary release;

[0007] Detect the status information of the current version of the target application in the first user device group;

[0008] The target release process for the application installation package is determined based on the status information.

[0009] The application installation package is released based on the target release process.

[0010] Further, detecting the status information of the current version of the target application within the first group of user devices includes:

[0011] Obtain the running data of the current version of the target application in the first user device group;

[0012] The operational data is statistically analyzed according to preset data indicators to obtain the target value of each preset data indicator;

[0013] The target value is compared with the threshold range corresponding to each preset data indicator to obtain the state information, wherein the state information includes: stable state and unstable state.

[0014] Furthermore, when the state information is in an unstable state, the step of releasing the application installation package based on the target release process includes:

[0015] The canary release process of the current version in the first user device group is suspended;

[0016] The application installation package is sent to the first user equipment group so that the first user equipment group updates the version of the target application to the target version according to the application installation package.

[0017] Furthermore, when the state information is in a stable state, the step of releasing the application installation package based on the target release process includes:

[0018] Determine the release type corresponding to the application installation package, wherein the release type includes: full release type and canary release type;

[0019] Perform the corresponding release operation according to the release type.

[0020] Further, performing the corresponding release operation according to the release type includes:

[0021] When the release type is full release, the devices carrying the target application are identified as the second group of user devices;

[0022] The application installation package is distributed to the second group of user devices in its entirety.

[0023] Further, performing the corresponding release operation according to the release type includes:

[0024] When the release type is gray release, a gray release strategy is obtained, wherein the gray release strategy carries a target device identifier and a preset release result, and the target device identifier is a device identifier used to indicate the device corresponding to the device receiving the application installation package;

[0025] The application installation package is sent to the third user equipment group corresponding to the target device identifier.

[0026] Furthermore, after sending the application installation package to the third user equipment group corresponding to the target device identifier, the method further includes:

[0027] Obtain the release result fed back by the third user device group, wherein the release result is obtained after the third user device group updates the version of the target application using the application installation package;

[0028] If the release result meets the preset release result, the application installation package is sent to a second group of user devices carrying the target application.

[0029] According to another aspect of the embodiments of this application, a gray-scale release apparatus for an application is also provided, comprising:

[0030] The acquisition module is used to obtain the application installation package of the target version of the target application to be released in a canary release.

[0031] The detection module is used to detect the status information of the current version of the target application in the first user device group;

[0032] The determination module is used to determine the target release process of the application installation package based on the status information.

[0033] The execution module is used to publish the application installation package based on the target release process.

[0034] According to another aspect of the embodiments of this application, a storage medium is also provided, the storage medium including a stored program that executes the above steps when the program is run.

[0035] According to another aspect of the embodiments of this application, an electronic device is also provided, including a processor, a communication interface, a memory, and a communication bus, wherein the processor, the communication interface, and the memory communicate with each other through the communication bus; wherein: the memory is used to store computer programs; and the processor is used to execute the steps in the above method by running the programs stored in the memory.

[0036] This application also provides a computer program product containing instructions that, when run on a computer, cause the computer to perform the steps in the above-described method.

[0037] Compared with the prior art, the technical solution provided in this application has the following advantages: Before releasing a new version of the application, this application detects the status information of the current version in the user device group, and selects different release processes according to different status information. The entire process does not require release personnel to manually perform offline configuration operations between various systems. It realizes automated gray-scale release of application versions, which can improve gray-scale release efficiency and reduce gray-scale release risks. Attached Figure Description

[0038] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application.

[0039] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0040] Figure 1 A block diagram of a grayscale publishing system provided in an embodiment of this application;

[0041] Figure 2 A flowchart illustrating a method for canary deployment of an application provided in this application embodiment;

[0042] Figure 3 A flowchart illustrating a method for canary deployment of an application, provided as another embodiment of this application;

[0043] Figure 4 A flowchart illustrating a method for canary deployment of an application, provided as another embodiment of this application;

[0044] Figure 5 A block diagram of a grayscale publishing device for an application provided in an embodiment of this application;

[0045] Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application. Detailed Implementation

[0046] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. The illustrative embodiments of this application and their descriptions are used to explain this application and do not constitute an improper limitation of this application. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0047] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another similar entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0048] Currently, when using a canary release system, there is no integration between systems such as APS, distribution channel management, version management platform, and APM online monitoring. Release personnel need to manually configure these systems offline. Furthermore, there is a lack of online data aggregation and monitoring alerts for canary packages, making it difficult to respond promptly to online issues and at various stages.

[0049] Based on this, this application provides a canary release system, such as... Figure 1 As shown, the system includes: APS platform 10, monitoring platform 20, user equipment group 30, and reminder platform 40.

[0050] In this embodiment, the APS platform is used to update the target application's information for canary release, package the update information into an application installation package, test the application installation package, and if the test passes, detect the status information of the current version of the target application in the first user device group; determine the target release process of the application installation package based on the status information, and release the application installation package based on the target release process.

[0051] The release process primarily involves sending the application installation package to a group of user devices through distribution channels, including Android and iOS channels. The user device group includes computers, laptops, smartphones, and portable wearable devices, among others.

[0052] In this embodiment, after the application installation package is sent to the user device group, the reminder platform sends a notification message to the monitoring platform. This notification message prompts the monitoring platform to monitor the release results generated in the user device group and send the release results to the APS platform. The notification message can be sent to the developer of the gray-scale version through a preset contact method, such as automatically sending SMS messages, making phone calls, or sending emails to issue alerts.

[0053] Based on the aforementioned publishing system, embodiments of this application provide a method, apparatus, electronic device, and storage medium for the canary release of an application. The method provided by these embodiments can be applied to any required electronic device, such as a server, terminal, or other electronic device; no specific limitation is made here, and for ease of description, it will be referred to as an electronic device below.

[0054] According to one aspect of the embodiments of this application, a method embodiment of a method for canary release of an application is provided. Figure 2 A flowchart illustrating a method for canary deployment of an application provided in this application embodiment is shown below. Figure 2 As shown, the method includes:

[0055] Step S11: Obtain the application installation package of the target version of the target application to be released in a canary release.

[0056] In this embodiment, the application installation package for the target version of the target application is generated using update information corresponding to the target version. The update information includes: the target application's interface, functions, vulnerability patches, etc.

[0057] Step S12: Detect the status information of the current version of the target application in the first user device group.

[0058] In the embodiments of this application, such as Figure 3 As shown, step S12, detecting the status information of the current version of the target application in the first user device group, includes the following steps A1-A3:

[0059] Step A1: Obtain the running data of the current version of the target application in the first user device group.

[0060] In this embodiment of the application, the first user device group is the user device group selected when the current version is released in a gray-scale manner, and the running data includes: data generated by user devices logging into the target application at various time periods.

[0061] Step A2: Statistically analyze the running data according to the preset data indicators and obtain the target value of each preset data indicator.

[0062] In this embodiment, the preset data metrics include: activity data metrics, usage data metrics, and crash data metrics. The target values ​​for activity data metrics include: daily access frequency, weekly access frequency, page views, and access volume. The target values ​​for usage data metrics include: average usage time. The target values ​​for crash data metrics include: number of crashes and number of app crashes.

[0063] Step A3: Compare the target value with the threshold range corresponding to each preset data indicator to obtain state information, which includes: stable state and unstable state.

[0064] In this embodiment of the application, by matching the target value with the threshold range corresponding to each preset data indicator, the sub-state of each preset data indicator can be determined, and then the status information of the current version of the target application can be obtained based on each sub-state.

[0065] As an example, if the daily access frequency is greater than a first preset frequency and the weekly access frequency is greater than a second preset frequency, then the sub-state corresponding to the activity data metric is the active state. If the average usage time is greater than a preset usage time, then the sub-state corresponding to the usage data metric is determined to be the state of interest. If the number of crashes is less than a first preset number and the number of app crashes is less than a second preset number, then the sub-state corresponding to the crash data metric is the normal operation state. Then, based on the active state, the state of interest, and the normal operation state, the preset state correspondence table is queried to determine whether the current version of the target application is in a stable state within the first user device group.

[0066] As another example, if the daily access frequency is less than a first preset frequency and the weekly access frequency is less than a second preset frequency, then the sub-state corresponding to the active data metric is the fatigue state. If the average usage time is less than a preset usage time, then the sub-state corresponding to the usage data metric is determined to be the non-interest state. If the number of crashes is less than a first preset number and the number of app crashes is less than a second preset number, then the sub-state corresponding to the crash data metric is the normal operation state. Then, based on the fatigue state, the non-interest state, and the normal operation state, the preset state correspondence table is queried to determine that the current version of the target application is in an unstable state in the first user device group.

[0067] Step S13: Determine the target release process for the application installation package based on the status information.

[0068] In this embodiment of the application, different status information corresponds to different publishing processes. Therefore, the target publishing process corresponding to the status information can be queried from the database based on the status identifier of the status information.

[0069] Step S14: Publish the application installation package based on the target release process.

[0070] In this embodiment of the application, when the state information is in an unstable state, such as Figure 4 As shown, step S14 involves releasing the application installation package based on the target release process, including the following steps B1-B2:

[0071] Step B1: Abort the canary release process of the current version in the first user device group.

[0072] Step B2: Send the application installation package to the first user device group so that the first user device group updates the version of the target application to the target version according to the application installation package.

[0073] In this embodiment of the application, when the status information is in an unstable state, the gray-scale release process of the current version in the first user device group is suspended, and the application installation package is sent to each user device in the first user device group so that each user device can use the application installation package to update the target application from the current version to the target version.

[0074] In an unstable state, this application embodiment suspends the canary release process of the current version in the first user device group and sends the application installation package to the first user device group, thereby updating the target application in the first user device group in a timely manner and avoiding the situation where the target application in the first user device group continues to be unstable.

[0075] In this embodiment of the application, when the state information is in a stable state, step S14 involves publishing the application installation package based on the target release process, such as... Figure 5 As shown, it includes the following steps C1-C2:

[0076] Step C1: Determine the release type corresponding to the application installation package. The release type includes: full release type and canary release type.

[0077] In this embodiment, since the status information is in a stable state, it indicates that the target application is recognized in the first group of user devices. Therefore, the release type of the application installation package can be determined. The release type can be preset by the staff. Release types include: full release type and canary release type.

[0078] Step C2: Perform the corresponding release operation based on the release type.

[0079] In this embodiment of the application, step C2, performing the corresponding publishing operation according to the publishing type, includes the following steps D1-D2:

[0080] Step D1: In the case of a full release, the devices carrying the target application are identified as the second group of user devices.

[0081] Step D2: Distribute the application installation package to the second group of user devices.

[0082] In this embodiment of the application, if the distribution type is full distribution, all devices carrying the target application are obtained, and such devices are identified as the second user device group. The application installation package is then sent to the second user device group so that each device in the second user device group updates the version of the target application according to the target application installation package.

[0083] It should be noted that the second user device group includes or is equal to the first user device group. If the current version of the target application is being distributed in a canary release phase, the second user device group includes the first user device group. If the current version of the target application is being distributed in a canary release phase, the second user device group is equal to the first user device group.

[0084] In this embodiment of the application, step C2, performing the corresponding publishing operation according to the publishing type, includes the following steps E1-E2:

[0085] Step E1: If the release type is gray release, obtain the gray release strategy. The gray release strategy carries the target device identifier and the preset release result. The target device identifier is the device identifier used to indicate the device corresponding to the device receiving the application installation package.

[0086] In this embodiment of the application, the gray-scale release strategy includes: target device identifier, release duration, and preset release results, etc., wherein the target device identifier is used to filter devices that can receive application installation packages, and the preset release results are used to indicate the expected values ​​of various preset data indicators after the target application is updated to the target version.

[0087] In this application embodiment, gray-scale release refers to a release method that allows for a smooth transition between black and white (unlocked and unlocked). A / B testing can be performed on this method, where some users continue using product feature A while others start using product feature B. If users have no objections to B, the scope is gradually expanded until all users are migrated to B. Gray-scale release ensures the stability of the overall system, allowing problems to be identified and addressed during the initial gray-scale phase to minimize their impact.

[0088] Step E2: Send the application installation package to the third user device group corresponding to the target device identifier.

[0089] This application embodiment detects the status information of the current version in the user device group before releasing a new version of the application, and selects different release processes based on different status information. The entire process does not require release personnel to manually configure operations offline between various systems. It realizes automated gray-scale release of application versions, which can improve the efficiency of gray-scale release and reduce the risk of gray-scale release.

[0090] In this embodiment of the application, after sending the application installation package to the third user equipment group corresponding to the target device identifier, the method further includes the following steps E3-E4:

[0091] Step E3: Obtain the release result fed back by the third user device group, wherein the release result is obtained after the third user device group updates the version of the target application using the application installation package.

[0092] In this embodiment of the application, after the third user equipment group updates the version of the target application using the application installation package, it will generate corresponding usage data and feedback information. Therefore, the usage data and feedback information are collected by the monitoring platform and determined as the release result.

[0093] Step E4: If the publishing result meets the preset publishing result, send the application installation package to the second group of user devices carrying the target application.

[0094] In this embodiment, semantic recognition of the feedback information is used to determine the level of interest of the third user device group in the target version. Simultaneously, data such as pageviews and usage duration are compared with corresponding thresholds. If the level of interest is greater than a preset level of interest, and all usage data exceed the corresponding preset thresholds, it indicates that the target version has achieved the expected effect. At this point, the canary release is changed to a full release, meaning the application installation package is sent to the second user device group.

[0095] In this embodiment, semantic recognition is performed on the feedback information to determine the degree of interest of the third-party device group in the target version. The specific implementation process is as follows: A TFIDF (Term Frequency Inverse Document Frequency) model is used to extract multi-word phrases from the feedback information. Then, preset analysis rules are used to filter the multi-word phrases to obtain keyword phrases. The preset analysis rules involved in this embodiment can be: single noun phrases, multiple noun phrases, adjectives, adverbs, and consecutive noun phrases, etc. Then, the keyword phrases are matched with a preset dictionary to determine the target weights corresponding to each keyword phrase, and the sum of the target weights is calculated. The degree of interest is determined based on the sum. The preset dictionary includes: multiple word phrases and the weight of each word phrase, where the weight represents the degree of interest in that word phrase.

[0096] By adopting the above technical solution, this application embodiment can automatically release gray versions of the target application without relying on manual intervention, thereby improving the efficiency and reducing the risk of gray release.

[0097] Figure 5This is a block diagram of a grayscale release device for an application provided in an embodiment of this application. This device can be implemented as part or all of an electronic device through software, hardware, or a combination of both. Figure 5 As shown, the device includes:

[0098] Module 51 is used to obtain the application installation package of the target version of the target application to be released in a canary release.

[0099] The detection module 52 is used to detect the status information of the current version of the target application in the first user device group;

[0100] Module 53 is used to determine the target release process of the application installation package based on the status information.

[0101] Execution module 54 is used to publish the application installation package based on the target release process.

[0102] In this embodiment of the application, the detection module 52 is used to obtain the running data of the current version of the target application in the first user equipment group; to statistically analyze the running data according to preset data indicators and obtain the target value of each preset data indicator; and to compare the target value with the threshold range corresponding to each preset data indicator to obtain status information, wherein the status information includes: stable state and unstable state.

[0103] In this embodiment of the application, when the status information is in an unstable state, the execution module 54 is used to suspend the gray-scale release process of the current version in the first user equipment group; and send the application installation package to the first user equipment group so that the first user equipment group updates the version of the target application to the target version according to the application installation package.

[0104] In this embodiment of the application, when the state information is in a stable state, the execution module 54 is used to determine the release type corresponding to the application installation package, wherein the release type includes: full release type and gray release type; and to perform the corresponding release operation according to the release type.

[0105] In this embodiment, the execution module 54, when the release type is full release, identifies the device carrying the target application as the second user device group; and distributes the application installation package to the second user device group in full.

[0106] In this embodiment, the execution module 54, when the release type is gray release, obtains a gray release strategy, wherein the gray release strategy carries a target device identifier and a preset release result, and the target device identifier is a device identifier used to indicate the device corresponding to the device receiving the application installation package; and sends the application installation package to the third user device group corresponding to the target device identifier.

[0107] The apparatus in this application embodiment further includes: a monitoring module, configured to acquire the release result fed back by the third user equipment group, wherein the release result is obtained after the third user equipment group updates the version of the target application using the application installation package; and if the release result meets the preset release result, send the application installation package to the second user equipment group carrying the target application.

[0108] This application also provides an electronic device, such as... Figure 6 As shown, the electronic device may include: a processor 1501, a communication interface 1502, a memory 1503, and a communication bus 1504, wherein the processor 1501, the communication interface 1502, and the memory 1503 communicate with each other through the communication bus 1504.

[0109] Memory 1503 is used to store computer programs;

[0110] When the processor 1501 executes the computer program stored in the memory 1503, it implements the steps of the above embodiments.

[0111] The communication bus mentioned above can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. This communication bus can be divided into address bus, data bus, control bus, etc. For ease of illustration, only one thick line is used to represent it in the diagram, but this does not mean that there is only one bus or one type of bus.

[0112] The communication interface is used for communication between the aforementioned terminal and other devices.

[0113] The memory may include random access memory (RAM) or non-volatile memory, such as at least one disk storage device. Optionally, the memory may also be at least one storage device located remotely from the aforementioned processor.

[0114] The processors mentioned above can be general-purpose processors, including central processing units (CPUs), network processors (NPs), etc.; they can also be digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, or discrete hardware components.

[0115] In another embodiment provided in this application, a computer-readable storage medium is also provided, which stores instructions that, when executed on a computer, cause the computer to perform a canary release method for an application as described in any of the above embodiments.

[0116] In another embodiment provided in this application, a computer program product containing instructions is also provided, which, when run on a computer, causes the computer to execute a gray-scale release method for an application described in any of the above embodiments.

[0117] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium can be any available medium accessible to a computer or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium (e.g., floppy disk, hard disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., a solid-state drive).

[0118] The above description is merely a preferred embodiment of this application and is not intended to limit the scope of protection of this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application are included within the scope of protection of this application.

[0119] The above description is merely a specific embodiment of this application, enabling those skilled in the art to understand or implement this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features claimed herein.

Claims

1. A method for canary release of an application, characterized in that, include: Obtain the application installation package for the target version of the target application to be released in a canary release; Detect the status information of the current version of the target application in the first user device group; The target release process for the application installation package is determined based on the status information. The application installation package is released based on the target release process; When the status information is stable, the step of releasing the application installation package based on the target release process includes: determining the release type corresponding to the application installation package, wherein the release type includes: full release type and canary release type; and performing the corresponding release operation according to the release type. The step of performing the corresponding release operation according to the release type includes: when the release type is a gray release, obtaining a gray release strategy, wherein the gray release strategy carries a target device identifier and a preset release result, the target device identifier being a device identifier used to indicate the device corresponding to the device receiving the application installation package; and sending the application installation package to the third user device group corresponding to the target device identifier. After sending the application installation package to the third user device group corresponding to the target device identifier, the method further includes: obtaining a release result fed back by the third user device group, wherein the release result is obtained by the third user device group updating the version of the target application using the application installation package; and if the release result satisfies a preset release result, sending the application installation package to a second user device group carrying the target application. The process of obtaining the release results fed back by the third user device group includes: performing semantic recognition on the feedback information, determining the degree of interest of the third user device group in the target version, comparing the number of views and usage time in the usage data with the corresponding thresholds, and if the degree of interest is greater than the preset degree of interest and all usage data are greater than the corresponding preset thresholds, it means that the target version has achieved the preset release result. The process of semantic recognition of feedback information to determine the degree of interest of the third user device group in the target version includes: extracting multi-word groups from the feedback information using a TFIDF model; filtering the multi-word groups using preset analysis rules to obtain keyword groups, which include adjectives, adverbs, and noun phrases; matching the keyword groups with a preset dictionary to determine the target weights corresponding to each keyword group; calculating the sum of the target weights; and determining the degree of interest based on the sum.

2. The method according to claim 1, characterized in that, The detection of the current version status information of the target application in the first user device group includes: Obtain the running data of the current version of the target application in the first group of user devices; The operational data is statistically analyzed according to preset data indicators to obtain the target value of each preset data indicator; The target value is compared with the threshold range corresponding to each preset data indicator to obtain the state information, wherein the state information includes: stable state and unstable state.

3. The method according to claim 2, characterized in that, When the status information is in an unstable state, the step of releasing the application installation package based on the target release process includes: The canary release process of the current version in the first user device group is suspended; The application installation package is sent to the first user equipment group so that the first user equipment group updates the version of the target application to the target version according to the application installation package.

4. The method according to claim 1, characterized in that, The step of performing the corresponding release operation according to the release type includes: When the release type is full release, the devices carrying the target application are identified as the second group of user devices; The application installation package is distributed to the second group of user devices in its entirety.

5. A canary deployment device for an application, characterized in that, include: The acquisition module is used to obtain the application installation package of the target version of the target application to be released in a canary release. The detection module is used to detect the status information of the current version of the target application in the first user device group; The determination module is used to determine the target release process of the application installation package based on the status information. An execution module is used to publish the application installation package based on the target release process; When the status information is stable, the execution module is used to determine the release type corresponding to the application installation package, wherein the release type includes: full release type and canary release type; and to perform the corresponding release operation according to the release type. The execution module is specifically used to obtain a canary release strategy when the release type is canary release, wherein the canary release strategy carries a target device identifier and a preset release result, the target device identifier being a device identifier used to indicate the device corresponding to the device receiving the application installation package; and to send the application installation package to the third user device group corresponding to the target device identifier. After sending the application installation package to the third user device group corresponding to the target device identifier, the execution module is specifically used to obtain the release result fed back by the third user device group, wherein the release result is obtained after the third user device group updates the version of the target application using the application installation package; if the release result meets the preset release result, the application installation package is sent to the second user device group carrying the target application; wherein obtaining the release result fed back by the third user device group includes: performing semantic recognition on the feedback information, determining the degree of interest of the third user device group in the target version, and analyzing the pageviews in the usage data. The usage time is compared with the corresponding threshold. If the level of interest is greater than the preset level of interest, and all usage data are greater than the corresponding preset threshold, it means that the target version has reached the preset release result. Among them, semantic recognition is performed on the feedback information to determine the level of interest of the third user device group in the target version. This includes: using the TFIDF model to extract multi-word groups from the feedback information, using preset analysis rules to filter the multi-word groups to obtain keyword groups, and the preset analysis rules include: adjectives, adverbs, and noun phrases; matching the keyword groups with the preset dictionary, determining the target weight corresponding to each keyword group, calculating the sum of the target weights, and determining the level of interest based on the sum.

6. A storage medium, characterized in that, The storage medium includes a stored program, wherein the program executes the method of any one of claims 1 to 4 when it is run.

7. An electronic device, characterized in that, It includes a processor, a communication interface, a memory, and a communication bus, wherein the processor, communication interface, and memory communicate with each other through the communication bus; wherein: Memory, used to store computer programs; A processor for performing the method of any one of claims 1-4 by running a program stored in memory.

Citation Information

Patent Citations

  • Gray release control method and device, computer equipment and storage medium

    CN110928555A