Method and device for grayscale release
By determining the grayscale policy and proportion upper limit based on channels and access traffic during the application's grayscale version release process, and precise control is carried out, the problem of insufficient accuracy and flexibility of grayscale version release in the existing technology is solved, and the stable operation and rapid problem repair of the target application is achieved.
Patent Information
- Application Number
- CN202411845997.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-13
- Publication Date
- 2025-04-08
AI Technical Summary
During the release of grayscale versions of the application, the release of grayscale versions cannot be controlled based on channels and access traffic, resulting in low accuracy and flexibility of grayscale versions.
By creating grayscale version information corresponding to the grayscale version of the target application, determine whether each publishing channel hits the grayscale policy, and publish the grayscale version based on the upper limit of the grayscale ratio of each publishing channel hitting the grayscale strategy.
It realizes precise control over grayscale version releases, improves the accuracy and flexibility of grayscale version releases, ensures the stable operation of the target application, and can quickly repair or change to old versions when problems occur, avoiding affecting most users.
Smart Images

Figure CN119782160A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure generally relate to the field of computer technology, and more particularly, to a method and apparatus for grayscale release. Background Art
[0002] Grayscale release refers to a release method that can smoothly transition during the grayscale version release process of an application. Currently, during the grayscale version release process of an application, grayscale versions are released without distinguishing between channels and access traffic, which may result in low accuracy and flexibility in grayscale version release. Summary of the invention
[0003] In a first aspect of the present disclosure, a method for grayscale publishing is provided. The method includes: creating grayscale version information corresponding to the grayscale version of a target application; determining whether each of at least one publishing channel of the target application corresponds to a hit grayscale policy, the grayscale policy indicating the publishing requirements for publishing the grayscale version of the target application in the corresponding publishing channel; determining the grayscale ratio upper limit corresponding to each publishing channel that hits the grayscale policy, the grayscale ratio upper limit indicating the expected ratio upper limit of the number of devices used to run the grayscale version of the target application to the total number of devices in the publishing channel that hits the grayscale policy; and based on the grayscale version information and the grayscale ratio upper limit, publishing the grayscale version of the target application in each publishing channel that hits the grayscale policy.
[0004] In a second aspect of the present disclosure, an electronic device is provided. The electronic device includes at least one processing unit; and at least one memory, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit, and when the instructions are executed by the at least one processing unit, the electronic device executes the method of the first aspect of the present disclosure.
[0005] It should be understood that the contents described in the summary of the invention are not intended to limit the key features or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0006] In the following, in conjunction with the accompanying drawings and with reference to the following detailed description, the above and other features, advantages and aspects of various implementations of the present disclosure will become more apparent. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0007] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented;
[0008] Figure 2A flowchart of a process for grayscale release according to some embodiments of the present disclosure is shown;
[0009] Figure 3 A schematic diagram showing a version information management interface according to some embodiments of the present disclosure is shown;
[0010] Figure 4 A schematic diagram showing a publishing channel management interface according to some embodiments of the present disclosure is shown;
[0011] Figure 5 A schematic diagram of a grayscale ratio upper limit management interface according to some embodiments of the present disclosure is shown;
[0012] Figure 6 A schematic structural block diagram of an apparatus for grayscale publishing according to some embodiments of the present disclosure is shown; and
[0013] Figure 7 A block diagram of an electronic device is shown in which one or more embodiments of the present disclosure may be implemented. DETAILED DESCRIPTION
[0014] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although some embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments described herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0015] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may also be included below.
[0016] It should be noted that the acquisition, storage and application of user personal information involved in the technical solution of the present disclosure are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0017] It is understandable that before using the technical solutions disclosed in the embodiments of the present disclosure, the types, scope of use, usage scenarios, etc. of the personal information involved in the present disclosure should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with relevant laws and regulations.
[0018] For example, in response to receiving an active request from a user, a prompt message is sent to the user to clearly prompt the user that the operation requested to be performed will require obtaining and using the user's personal information, so that the user can independently choose whether to provide personal information to software or hardware such as electronic devices, applications, servers or storage media that execute operations of the technical solution of the present disclosure based on the prompt message.
[0019] As an optional but non-limiting implementation, in response to receiving an active request from the user, the prompt information is sent to the user in a manner such as a pop-up window, in which the prompt information can be presented in text form. In addition, the pop-up window can also carry a selection control for the user to choose "agree" or "disagree" to provide personal information to the electronic device.
[0020] The traditional solution for grayscale release mainly involves two aspects: one is how to detect the release of a new version, and the other is how to update the version. Specifically, the detection of the release of a new version is mainly operated through the server in the traditional grayscale release solution. When the target application has an updated grayscale version, the grayscale version information is updated on the server. The grayscale version information includes the version number, update content, update time, etc. During the startup or use of the target application on the user's device, a request is sent to the server at regular intervals to obtain the updated grayscale version information. After receiving the request, the server returns the updated grayscale version information to the device. After receiving the updated grayscale version information, the device will compare it with the current version. If the version number on the server is greater than the current version number, it is determined that there is an updateable grayscale version. In addition, the version update of this solution is to detect the grayscale version information through the target application on the device, and then prompt the user that there is an updateable grayscale version. After the user chooses to update, the target application can download the installation package of the new version from the server to complete the release of the grayscale version of the target application. However, the traditional solution for grayscale release cannot control the release of grayscale versions based on channels and access traffic.
[0021] In view of this, an embodiment of the present disclosure provides a solution for grayscale release. The solution includes: creating grayscale version information corresponding to the grayscale version of the target application. Determining whether each of at least one release channel of the target application corresponds to a hit grayscale policy. Determine the upper limit of the grayscale ratio corresponding to each release channel that hits the grayscale policy. Based on the grayscale version information and the upper limit of the grayscale ratio, the grayscale version of the target application is released on each release channel that hits the grayscale policy. In this way, not only can the function of the grayscale version be verified, but also the stable operation of the target application can be guaranteed. In addition, if a problem occurs, it can be repaired quickly or changed to an old version in time, thereby avoiding the problem from expanding to affect the majority of users, which can improve the user experience.
[0022] Figure 1 1 is a schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented. Figure 1 As shown, the server device 110 can create grayscale version information 105 of the grayscale version of the target application. Further, the server device 110 can also provide the grayscale version information 105 to the release channel set 120, so as to provide the grayscale version information 105 to each release channel in the release channel set 120 that hits the grayscale strategy.
[0023] Specifically, the release channel set 120 may include a release channel 120-1, a release channel 120-K, and a release channel 120-P, each of which corresponds to a grayscale ratio upper limit. In some examples, it is assumed that the release channel 120-1 and the release channel 120-K hit the grayscale policy, and the release channel 120-P does not hit the grayscale policy. Then, based on the grayscale version information 105 and the corresponding grayscale ratio upper limit 106, the grayscale version of the target application is released in the release channel 120-1. Based on the grayscale version information 105 and the grayscale ratio upper limit 107, the grayscale version of the target application is released in the release channel 120-K.
[0024] Further, each release channel may have an associated device set. In some examples, the device set corresponding to release channel 120-1 may include terminal devices 130-2 to 130-M. The device set corresponding to release channel 120-K may include 140-3 to terminal devices 140-N. The device set corresponding to release channel 120-P may include 150-5 to 150-G. The device set corresponding to the release channel that hits the same grayscale strategy may include devices that can be used to run the grayscale version of the target application, and may also include devices that cannot be used for the grayscale version of the target application.
[0025] In some embodiments, in the device set corresponding to the release channel 120-1 that hits the grayscale strategy, the terminal device 130-2 and the terminal device 130-M can run the grayscale version 135-2 of the target application, that is, multiple devices corresponding to the same release channel that hits the grayscale strategy can run the same grayscale version of the target application. Next, in the device set corresponding to the release channel 120-K that hits the grayscale strategy, the terminal device 140-3 can run the grayscale version 145-3 of the target application, and the terminal device 140-N can run the grayscale version 145-N of the target application, that is, multiple devices corresponding to the same release channel that hits the grayscale strategy can run different grayscale versions of the target application.
[0026] In addition, in the device set corresponding to the release channel 120-P that misses the grayscale policy, the terminal device 150-5 can run the non-grayscale version 155-5 of the target application, and the terminal device 150-G can run the non-grayscale version 155-G of the target application, that is, the corresponding multiple devices in the same release channel that misses the grayscale policy can run different non-grayscale versions of the target application. In other embodiments, the corresponding multiple devices in the same release channel that misses the grayscale policy can also run the same non-grayscale version of the target application.
[0027] In some embodiments, the server device 110 may be various types of computing systems / servers that can provide computing capabilities, including but not limited to mainframes, edge computing nodes, computing devices in cloud environments, and the like. For example, the server device 110 may be an independent physical server, or a server cluster or distributed system consisting of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks, and big data and artificial intelligence platforms. The server device 110 may include, for example, computing systems / servers, such as mainframes, edge computing nodes, computing devices in cloud environments, and the like.
[0028] It should be understood that the structure and function of the various elements in the environment 100 are described for exemplary purposes only and do not imply any limitation on the scope of the present disclosure.
[0029] Some example embodiments of the present disclosure will be described below with continued reference to the accompanying drawings.
[0030] Figure 2 1 shows a flowchart of a process 200 for grayscale publishing according to some embodiments of the present disclosure. The process 200 may be implemented at the server device 110. For ease of discussion, reference will be made to Figure 1 The process 200 is described with reference to the environment 100 of FIG.
[0031] like Figure 2 As shown, before the grayscale version of the target application is released, in block 210, the server device 110 creates grayscale version information 105 corresponding to the grayscale version of the target application. In some examples, the grayscale version information 105 may indicate at least one of the following: For example, an operating system, a version number, a release channel, a download link, an update method, a review status, an estimated release time, recommended update information, and a release review method.
[0032] Specifically, the operating system may include a first type of operating system and a second type of operating system. In some examples, the first type of operating system may be Android, and the second type of operating system may be iOS. In addition, the version number may include version identifiers corresponding to the grayscale version and the non-grayscale version, respectively. For example, the grayscale version identifier 1.1.13 may correspond to the grayscale version, and the non-grayscale version identifier 1.1.12 may correspond to the non-grayscale version. Further, the download link may include an installation package download link and an app store download link. The installation package download link may indicate downloading the grayscale version of the target application through the installation package of the grayscale version of the target application. In addition, the app store download link may indicate downloading the grayscale version of the target application through the app store.
[0033] Further, the update method may include forced update and non-forced update. In some examples, forced update may indicate that the grayscale version of the target application is released in the devices used to run the grayscale version of the target application in the channels that hit the grayscale strategy. In other examples, non-forced update may indicate that the grayscale version recommended update information is displayed in the devices used to run the grayscale version of the target application in the channels that hit the grayscale strategy, and after detecting that the recommended update information is triggered, the grayscale version of the target application is released in the devices used to run the grayscale version of the target application.
[0034] In addition, the recommended update information can be displayed in a device that can be used to run the grayscale version of the target application. Further, the release review method includes a first review method and a second review method. In some examples, the first review method can indicate that after the submission review operation is performed, the grayscale version of the target application is released. In other examples, the second review method can indicate that after the review status is passed, the grayscale version of the target application is released.
[0035] In some embodiments, the system type of the operating system may also be determined. Based on the system type of the operating system, the download link and the release review method corresponding to the operating system are determined. In some examples, if the system type is determined to be a first type of operating system, then the installation package download link and the first review method corresponding to the operating system may be determined. In other examples, if the system type is determined to be a second type of operating system, then the application store download link and the second review method corresponding to the operating system may be determined.
[0036] After creating the grayscale version information 105 corresponding to the grayscale version of the target application, in box 220, the server device 110 determines whether each of the at least one release channel of the target application corresponds to the hit grayscale policy. In some examples, the grayscale policy may indicate the release requirements for releasing the grayscale version of the target application in the corresponding release channel. For example, the release requirements may be configuration requirements for the release channel corresponding to the grayscale version, etc. It is understandable that the above release requirements are only examples, and in fact, there may be any suitable release requirements according to the specific content.
[0037] In addition, after the server device 110 determines whether the grayscale policy is hit for at least one release channel of the target application, the server device 110 may determine the grayscale ratio upper limit corresponding to each release channel that hits the grayscale policy in block 230. In some examples, the grayscale ratio upper limit may indicate an upper limit of the expected ratio of the number of devices used to run the grayscale version of the target application to the total number of devices in the release channel that hits the grayscale policy.
[0038] Further, after the server device 110 determines the grayscale version information 105 and the upper limit of the grayscale ratio corresponding to each publishing channel that hits the grayscale strategy, the server device 110 can publish the grayscale version of the target application in each publishing channel that hits the grayscale strategy based on the grayscale version information 105 and the upper limit of the grayscale ratio in box 240. In some examples, for each publishing channel that hits the grayscale strategy, the server device 110 determines the device used to run the grayscale version of the target application in the publishing channel. The server device 110 determines the target grayscale ratio corresponding to the publishing channel based on the number of devices used to run the grayscale version of the target application in the publishing channel and the total number of devices in the publishing channel. In some examples, the number of devices used to run the grayscale version of the target application in the publishing channel is 60, and the total number of devices in the publishing channel is 100, so the determined target grayscale ratio is 60%. The server device 110 determines whether the target grayscale ratio is less than the upper limit of the grayscale ratio corresponding to the publishing channel. If the server device 110 determines that the target grayscale ratio is less than the grayscale ratio upper limit corresponding to the publishing channel, the grayscale version of the target application is published to the publishing channel based on the grayscale version information 105 .
[0039] Specifically, the server device 110 may obtain the device identifier (UUID) of the device set associated with the release channel that hits the grayscale policy. The server device 110 may determine whether each device in the device set can be used to run the grayscale version of the target application based on the device identifier of the device set and the grayscale configuration algorithm. The grayscale configuration algorithm may be used to determine whether the device is used to run the grayscale version of the target application based on the input device identifier.
[0040] Further, the server device 110 can convert the device identification of each device in the device set into a first ratio within a first predetermined range by using a grayscale configuration algorithm. For example, the server device 110 can convert the input device identification into a target ratio number between 0 and 100 by using a hash modulus. In some examples, the server device 110 can determine whether each device in the device set can be used to run the grayscale version of the target application based on a comparison between the first ratio and the grayscale ratio upper limit. Specifically, if the first ratio is less than the grayscale ratio upper limit, the server device 110 can determine that the device can be used to run the grayscale version of the target application. If the first ratio is greater than or equal to the grayscale ratio upper limit, the server device 110 can determine that the device cannot be used to run the grayscale version of the target application. According to the grayscale version information 105 and the corresponding grayscale ratio upper limit, the grayscale version of the target application is released in the devices that can be used to run the grayscale version of the target application in each release channel.
[0041] In some embodiments, the grayscale version information 105 includes version information and release channel information.
[0042] Continue below Figure 3-Figure 5 As an example, the version information management interface, release channel management interface, and grayscale ratio upper limit management interface are further explained. Figure 3-Figure 5 The interfaces shown are exemplary only and not limiting.
[0043] Figure 3 Schematic diagram of a version information management interface 300 according to some embodiments of the present disclosure is shown. The version information management interface 300 may be implemented at the server device 110. For ease of discussion, reference will be made to Figure 1 The interface 300 is described with reference to the environment 100 .
[0044] like Figure 3 As shown, the version information management interface 300 may include an operating system search area, a version number search area, a query operation area, a reset operation area, a new operation area, and a version information area. The version information area includes version information entries corresponding to different operating systems and version numbers, and each version information entry includes a serial number, an operating system, a version number, a description, and an operation.
[0045] Specifically, the operating system search area can be used to search for version information entries of the input operating system in the version information area. In some examples, if iOS is entered in the operating system search area, the version information entry of the operating system as the iOS system can be displayed in the version information area. Further, the version number search area can be used to search for version information entries associated with the input version number in the version information area. In some examples, if 1.2.6 is entered in the version number search area, the version information entry with the version number of 1.2.6 can be displayed in the version information area. In addition, after entering the content you want to search in the operating system search area or the version number search area, the query operation area is triggered, and the relevant version information entries can be displayed in the version information area based on the input content of the search area. In some examples, after entering the content you want to search in the operating system search area or the version number search area, the reset operation area is triggered, and the input content of the search area can be cleared to enter other content you want to search. In other examples, after entering the content you want to search in the operating system search area or the version number search area, the new operation area is triggered, and a new version information entry can be added to the version information area.
[0046] Furthermore, the serial number in the version information area may indicate the position of the version information entry in the version information area. The operating system may include iOS or Android. The version number may include 1.3.7, 1.3.5, 1.2.6, 1.2.5, 1.3.0, 1.3.1, 1.3.4, 1.3.2, 1.1.13, 1.1.12, 1.1.11. The description indicates some descriptions of the current version number, such as testing, updating, 1.2.6iOS, 1.2.5iOS, none, "1. Page display frame skipping 2. Function coverage 3. BUG repair", 1.3.1, 1.3.4iOS installation package, 1.3.2 installation package, undescribable, and internal application testing. Operations may include editing operations, which may be used to edit information in the corresponding version information entry.
[0047] In some examples, the information of the data entry is further explained by taking version information entry 1 with serial number 1 as an example. The operating system of data entry 1 is iOS, the version number is 1.3.7, and the description of version 1.3.7 is testing, that is, 1.3.7 is the test version of the target application.
[0048] Figure 4 Schematic diagram of a publishing channel management interface 400 according to some embodiments of the present disclosure is shown. The publishing channel management interface 400 may be implemented at the server device 110. For ease of discussion, reference will be made to Figure 1 The interface 400 is described with reference to the environment 100 .
[0049] like Figure 4As shown, the release channel management interface 400 may include an operating system search area, a version number search area, a channel search area, an audit status query area, a query operation area, a reset operation area, a new operation area, a release channel information area, and a page change area. The page change area includes a total page display area, a current page display area, a page switching area, and the number of release channel information entries for each page. The release channel information area includes release channel information entries corresponding to different operating systems, version numbers, and channels, and each release channel information entry includes a serial number, an operating system, a version number, a channel, a download link, a mandatory update, an audit status, an estimated release time, a recommended upgrade, and an operation.
[0050] Specifically, the operating system search area can be used to search for version information entries related to the input operating system in the version information area. In some examples, if Android is entered in the operating system search area, version information entries for the operating system Android can be displayed in the channel information area. Further, the version number search area can be used to search for release channel information entries associated with the input version number in the release channel information area. In some examples, if 1.0.9 is entered in the version number search area, release channel information entries with a version number of 1.0.9 can be displayed in the release channel information area. Furthermore, the channel search area can be used to search for release channel information entries associated with the input channel type in the release channel information area.
[0051] In some examples, if channel 2 is entered in the channel search area, publishing channel information entries with a channel type of channel 2 may be displayed in the publishing channel information area. Furthermore, the review status search area may be used to search for publishing channel information entries associated with the entered review status in the publishing channel information area. In addition, after entering the content you want to search in the operating system search area, the version number search area, the channel search area, and the review status search area, the query operation area is triggered, and related publishing channel information entries may be displayed in the version information area based on the input content in the search area. In some examples, after entering the content you want to search in the operating system search area or the version number search area, the reset operation area is triggered, and the input content in the search area may be cleared to enter other content you want to search for. In other examples, after entering the content you want to search in the operating system search area or the version number search area, the new operation area is triggered, and new publishing channel information entries may be added to the publishing channel information area.
[0052] Further, the serial number in the release channel information area may indicate the position of the release channel information entry in the release channel information area. The operating system may include iOS or Android. The version number may include 1.0.9. The types of channels may include channel 1, channel 2, channel 3, channel 4, channel 5, and channel 6. The download link may include an installation package download link and an application store download link. In some embodiments, the operating system may correspond to the installation package download link if it is Android, and the operating system may correspond to the application store download link if it is iOS. Forced update includes information corresponding to whether the update is forced. The review status may include pending review, failed review, under review, and unreviewed. The expected release time indicates the time when the gray version is expected to be released under the operating system, version number, and channel in the release channel data entry. Recommended upgrade includes information corresponding to whether the upgrade is recommended. Operations may include editing, recommending upgrades, opening review, one-click review, reopening review, review passed, and review rejected.
[0053] In some examples, the information of the data entry is further explained by taking the release channel information entry 1 with serial number 1 as an example. The operating system of the release channel information entry 1 is iOS, the version number is 1.0.9, the release channel is channel 1, the download link is "https: / / www.aba.bbb.ccc", no mandatory update, the review status is unreviewed, the estimated release time is "2023-09-30 14:04:38", and upgrading is not recommended. The editing operations that can be performed on the release channel information entry 1 include editing, recommending upgrades, and starting reviews.
[0054] Figure 5 FIG. 5 is a schematic diagram of a grayscale ratio upper limit management interface 500 according to some embodiments of the present disclosure. The grayscale ratio upper limit management interface 500 may be implemented at the server device 110. For ease of discussion, reference will be made to FIG. Figure 1 The interface 500 is described with reference to the environment 100 .
[0055] The grayscale ratio upper limit management interface may include the interface title "Recommended Upgrade", operating system information, channel information, version number information, upgrade prompt information, mandatory update information, and recommended ratio configuration information. The grayscale ratio upper limit management interface may also include areas corresponding to the "Cancel" and "Confirm" operations. If the area corresponding to the "Cancel" operation is triggered, it means that the currently set information is not saved. If the area corresponding to the "Confirm" operation is triggered, it means that the currently set information is saved, and the grayscale version of the target application is released in the channel according to the set information.
[0056] Specifically, the operating system information may include an operating system type, such as a first operating system and a second operating system, the first operating system may be an Android system, and the second operating system may be an iOS system. In some examples, when the operating system type is the first operating system, the operating system information may be expressed as "operating system: Android". In other examples, when the operating system type is the second operating system, the operating system information may be expressed as "operating system: iOS". Further, the channel information may include channel types, such as channel 1, channel 2, channel 3, channel 4, etc. In some examples, when the channel type is channel 3, the channel information may be expressed as "channel: channel 1". The version number information may include version identifiers corresponding to multiple grayscale versions, such as 1.3.4, 1.3.10, 1.4.9, etc. In some examples, if the grayscale version is 1.3.4, the version number information may be expressed as "version number: 1.3.4".
[0057] Further, the upgrade prompt information may include prompt information corresponding to the upgrade operation, such as testing, version upgrade, internal testing, etc. In some examples, if the upgrade operation is testing, the upgrade prompt information displays "Upgrade prompt: testing". In addition, the forced update information may include information corresponding to whether the update is forced. In some examples, if forced update is not set, the forced update information may display "Forced update: No". In other examples, if forced update is set, the forced update information may display "Forced update: Yes". The recommended ratio setting information may include the title "Recommended ratio setting". It can be understood that the various information representation methods in the above-mentioned grayscale ratio upper limit management interface are only exemplary and not restrictive.
[0058] like Figure 5 As shown, when the operating system type is iOS system type, the grayscale version number is 1.3.7, and there is no forced update, the upper limit of the grayscale ratio corresponding to channel 1 that hits the grayscale version is set to 50%, that is, the expected upper limit of the ratio of the number of devices used to run the grayscale version of the target application to the total number of devices in channel 1 is 50%. If the area corresponding to the "Cancel" operation is triggered, it means that the currently set information is not saved. If the area corresponding to the "OK" operation is triggered, it means that the currently set information is saved, and the grayscale version 1.3.7 of the target application is released in the iOS system of channel 1 with a grayscale ratio upper limit of 50% and no forced update, which is used to upgrade the grayscale version 1.3.7. It is understandable that Figure 5 The numerical value of the upper limit of the grayscale ratio shown is only exemplary and not restrictive.
[0059] In summary, the embodiments of the present disclosure can not only verify the functions of the grayscale version, but also ensure the stable operation of the target application. In addition, if a problem occurs, it can be repaired quickly or changed to an old version in time, thereby preventing the problem from expanding and affecting most users, which can improve the user experience.
[0060] The embodiments of the present disclosure also provide corresponding devices for implementing the above methods or processes. Figure 6 A schematic structural block diagram of an apparatus 600 for grayscale publishing according to some embodiments of the present disclosure is shown. The apparatus 600 may be implemented as or included in the server device 110. Each module / component in the apparatus 600 may be implemented by hardware, software, firmware, or any combination thereof.
[0061] like Figure 6 As shown, the device 600 includes a creation module 610, which is configured to create grayscale version information corresponding to the grayscale version of the target application; the device 600 also includes an execution module 620, which is configured to determine whether each of the at least one release channel of the target application corresponds to a hit grayscale policy, and the grayscale policy indicates the release requirements for releasing the grayscale version of the target application in the corresponding release channel; the device 600 also includes a determination module 630, which is configured to determine the grayscale ratio upper limit corresponding to each release channel that hits the grayscale policy, and the grayscale ratio upper limit indicates the expected ratio upper limit of the number of devices used to run the grayscale version of the target application to the total number of devices in the release channel that hits the grayscale policy; the device 600 also includes a release module 640, which is configured to release the grayscale version of the target application in each release channel that hits the grayscale policy based on the grayscale version information and the grayscale ratio upper limit.
[0062] In some embodiments, the publishing module 640 is also configured to determine, for each publishing channel that hits the grayscale strategy, the devices in the publishing channel used to run the grayscale version of the target application; determine the target grayscale ratio corresponding to the publishing channel based on the number of devices in the publishing channel used to run the grayscale version of the target application and the total number of devices in the publishing channel; determine whether the target grayscale ratio is less than the upper limit of the grayscale ratio corresponding to the publishing channel; and in response to determining that the target grayscale ratio is less than the upper limit of the grayscale ratio corresponding to the publishing channel, publish the grayscale version of the target application to the publishing channel based on the grayscale version information.
[0063] In some embodiments, the publishing module 640 is also configured to obtain the device identifier (UUID) of the device set associated with the publishing channel that hits the grayscale policy; and based on the device identifier of the device set and the grayscale configuration algorithm, determine whether each device in the device set can be used to run the grayscale version of the target application, the grayscale configuration algorithm being used to determine whether the device is used to run the grayscale version of the target application based on the input device identifier.
[0064] In some embodiments, the publishing module 640 is also configured to convert the device identification of each device in the device set into a first ratio within a first predetermined range through a grayscale configuration algorithm; and based on a comparison between the first ratio and the grayscale ratio upper limit, determine whether each device in the device set can be used to run the grayscale version of the target application.
[0065] In some embodiments, the publishing module 640 is also configured to determine that the device can be used to run the grayscale version of the target application in response to the first ratio being less than the grayscale ratio upper limit; and to determine that the device cannot be used to run the grayscale version of the target application in response to the first ratio being greater than or equal to the grayscale ratio upper limit.
[0066] In some embodiments, the grayscale version information indicates at least one of the following: operating system, version number, release channel, download link, update method, review status, expected release time, recommended update information, and release review method.
[0067] In some embodiments, the operating system includes a first type of operating system and a second type of operating system, the version number includes version identifiers corresponding to the grayscale version and the non-grayscale version, respectively, the download link includes an installation package download link and an application store download link, the update method includes forced update and non-forced update, the recommended update information is displayed in a device that can be used to run the grayscale version of the target application, and the release review method includes a first review method and a second review method.
[0068] In some embodiments, the device 600 also includes a classification module configured to determine the system type of the operating system; and based on the system type of the operating system, determine the download link and release review method corresponding to the operating system.
[0069] In some embodiments, the classification module is also configured to, in response to determining that the system type is a first type of operating system, determine an installation package download link and a first review method corresponding to the operating system, the first review method indicating that after the submission for review operation is performed, a grayscale version of the target application is released; and in response to determining that the system type is a second type of operating system, determine an application store download link and a second review method corresponding to the operating system, the second review method indicating that after the review status is passed, a grayscale version of the target application is released.
[0070] The units and / or modules included in the device 600 can be implemented in various ways, including software, hardware, firmware, or any combination thereof. In some embodiments, one or more units and / or modules can be implemented using software and / or firmware, such as machine executable instructions stored on a storage medium. In addition to or as an alternative to machine executable instructions, some or all of the units and / or modules in the device 600 can be implemented at least in part by one or more hardware logic components. As an example and not limitation, exemplary types of hardware logic components that can be used include field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), and the like.
[0071] It should be understood that one or more steps in the above method can be performed by a suitable electronic device or a combination of electronic devices. Such an electronic device or a combination of electronic devices may include, for example, Figure 1 The server device 110 in.
[0072] Figure 7 1 shows a block diagram of an electronic device 700 in which one or more embodiments of the present disclosure may be implemented. It should be understood that Figure 7 The electronic device 700 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. Figure 7 The electronic device 700 shown can be used to implement Figure 1 The server device 110 or Figure 6 Device 600.
[0073] like Figure 7 As shown, the electronic device 700 is in the form of a general electronic device. The components of the electronic device 700 may include, but are not limited to, one or more processors or processing units 710, a memory 720, a storage device 730, one or more communication units 740, one or more input devices 770, and one or more output devices 760. The processing unit 710 may be an actual or virtual processor and is capable of performing various processes according to a program stored in the memory 720. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to improve the parallel processing capability of the electronic device 700.
[0074] The electronic device 700 typically includes a plurality of computer storage media. Such media can be any available media accessible to the electronic device 700, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 720 can be a volatile memory (e.g., register, cache, random access memory (RAM)), a non-volatile memory (e.g., read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory) or some combination thereof. The storage device 730 can be a removable or non-removable medium, and can include a machine-readable medium, such as a flash drive, a disk, or any other medium, which can be used to store information and / or data and can be accessed within the electronic device 700.
[0075] The electronic device 700 may further include additional removable / non-removable, volatile / non-volatile storage media. Figure 7 As shown in , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus (not shown) by one or more data media interfaces. The memory 720 may include a computer program product 727 having one or more program modules that are configured to perform various methods or actions of various embodiments of the present disclosure.
[0076] The communication unit 740 implements communication with other electronic devices through a communication medium. Additionally, the functions of the components of the electronic device 700 can be implemented with a single computing cluster or multiple computing machines that can communicate through a communication connection. Therefore, the electronic device 700 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0077] The input device 770 may be one or more input devices, such as a mouse, a keyboard, a tracking ball, etc. The output device 760 may be one or more output devices, such as a display, a speaker, a printer, etc. The electronic device 700 may also communicate with one or more external devices (not shown) through the communication unit 740 as needed, such as a storage device, a display device, etc., communicate with one or more devices that allow a user to interact with the electronic device 700, or communicate with any device that allows the electronic device 700 to communicate with one or more other electronic devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0078] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.
[0079] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0080] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0081] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0082] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0083] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the various implementations disclosed herein.
Claims
1. A method for grayscale release, comprising: Create the grayscale version information corresponding to the grayscale version of the target application; Determine whether each of at least one release channel of the target application corresponds to a hit grayscale policy, wherein the grayscale policy indicates a release requirement for releasing the grayscale version of the target application in the corresponding release channel; Determine an upper limit of the grayscale ratio corresponding to each release channel that hits the grayscale strategy, the upper limit of the grayscale ratio indicating an upper limit of an expected ratio of the number of devices for running the grayscale version of the target application to the total number of devices in the release channel that hits the grayscale strategy; as well as Based on the grayscale version information and the grayscale ratio upper limit, the grayscale version of the target application is released on each release channel that hits the grayscale strategy.
2. The method according to claim 1, wherein publishing the grayscale version of the target application in each publishing channel that hits the grayscale strategy comprises: For each release channel that hits the grayscale strategy, Determine a device in the release channel for running the grayscale version of the target application; Determining a target grayscale ratio corresponding to the publishing channel based on the number of devices in the publishing channel for running the grayscale version of the target application and the total number of devices in the publishing channel; Determine whether the target grayscale ratio is less than the grayscale ratio upper limit corresponding to the release channel; as well as In response to determining that the target grayscale ratio is less than the grayscale ratio upper limit corresponding to the publishing channel, the grayscale version of the target application is published to the publishing channel based on the grayscale version information.
3. The method according to claim 2, wherein determining a device in the release channel for running the grayscale version of the target application comprises: Obtaining a device identifier (UUID) of a device set associated with the release channel that hits the grayscale policy; as well as Based on the device identification of the device set and a grayscale configuration algorithm, determine whether each device in the device set can be used to run the grayscale version of the target application. The grayscale configuration algorithm is used to determine whether the device is used to run the grayscale version of the target application based on the input device identification.
4. The method according to claim 3, wherein based on the device identification of the device set and the grayscale configuration algorithm, determining whether each device in the device set can be used to run the grayscale version of the target application comprises: Converting the device identification of each device in the device set into a first ratio within a first predetermined range by using the grayscale configuration algorithm; as well as Based on a comparison between the first ratio and the grayscale ratio upper limit, it is determined whether each device in the device set can be used to run the grayscale version of the target application.
5. The method according to claim 4, wherein based on the comparison between the first ratio and the grayscale ratio upper limit, determining whether the device can be used to run the grayscale version of the target application comprises: In response to the first ratio being less than the grayscale ratio upper limit, determining that the device can be used to run the grayscale version of the target application; as well as In response to the first ratio being greater than or equal to the grayscale ratio upper limit, it is determined that the device cannot be used to run the grayscale version of the target application.
6. The method according to claim 1, wherein the grayscale version information indicates at least one of the following: Operating system, version number, release channel, download link, update method, review status, expected release time, recommended update information, and release review method.
7. The method according to claim 6, wherein the operating system includes a first type of operating system and a second type of operating system, the version number includes version identifiers corresponding to a grayscale version and a non-grayscale version respectively, the download link includes an installation package download link and an application store download link, the update method includes forced update and non-forced update, the recommended update information is displayed in a device that can be used to run the grayscale version of the target application, and the release review method includes a first review method and a second review method.
8. The method according to claim 6 or 7, further comprising: determining a system type of the operating system; as well as Based on the system type of the operating system, the download link and the publishing review method corresponding to the operating system are determined.
9. The method according to claim 8, wherein based on the system type of the operating system, determining the download link and the publishing review method corresponding to the operating system comprises: In response to determining that the system type is the first type of operating system, determining the installation package download link corresponding to the operating system and the first review method, wherein the first review method indicates that after a submission review operation is performed, the grayscale version of the target application is released; as well as In response to determining that the system type is the second type of operating system, the application store download link and the second review method corresponding to the operating system are determined, and the second review method indicates that the grayscale version of the target application is released after the review status is passed.
10. An electronic device, comprising: at least one processing unit; as well as At least one memory, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit, the instructions, when executed by the at least one processing unit, cause the electronic device to perform the method according to any one of claims 1 to 9.