Gray release method, device, equipment and storage medium

By detecting the application's load distribution information, determining the target load configuration strategy, and controlling traffic diversion, the problem of difficulty in controlling the release scope during canary releases is solved, achieving stable, efficient, and controllable canary releases.

CN115268984BActive Publication Date: 2025-11-04CHINA MOBILE GROUP ZHEJIANG +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110475767.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-04-29
Publication Date
2025-11-04
Estimated Expiration
2041-04-29

AI Technical Summary

Technical Problem

The existing canary release process makes it difficult to accurately control the release scope, relies on user behavior, and may intrude into the business architecture, leading to increased risks and complexity.

Method used

By detecting the application's load distribution information, the target load configuration strategy is determined, and traffic diversion control is implemented to achieve canary releases.

Benefits of technology

It achieves precise controllability of canary releases, reduces risks and development complexity, and improves the stability and efficiency of releases.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115268984B_ABST
    Figure CN115268984B_ABST
Patent Text Reader

Abstract

The application discloses a gray release method and device, equipment and a storage medium. The method comprises the following steps: when a preset new function gray release instruction of an application is detected, load distribution information of the application is determined; according to the load distribution information, a target load configuration strategy corresponding to the gray release instruction is determined; and according to the target load configuration strategy, flow diversion control is performed on the preset new function to complete the gray release of the preset new function. In the application, the gray release of the preset new function is performed in the load configuration mode, and the soft and hard load configurations are easy to deploy and controllable, so that the gray release of the new function is more accurate and controllable, and the technical problem that the gray release is difficult to accurately control in the prior art is solved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of application publishing, and in particular to a gray release method and device, equipment and a storage medium. BACKGROUND

[0002] Under the background of rapid development of the Internet, taking user needs as the center, shortening the development cycle and improving the version iteration frequency have become the development trend of Internet products. Based on this, gray release of applications (new version applications or preset new functions of applications) has become an important testing method.

[0003] Gray release, also known as experience release, is a release form that can smoothly transition between new and old versions. Specifically, the main purpose of gray release is to first release the application in a small range, and then gradually expand the release range. In this way, the impact of the new version application or the preset new function of the application can be concentrated in one point, and then spread to a surface. When unexpected situations occur, it is easy to roll back and avoid causing a wide range of impacts.

[0004] Smoothly transitioning users to the new and old version environments is a crucial step in gray construction. In the existing gray release process, users are mainly given the right to access the corresponding gray test function by installing the new version of the entity. This requires users to actively update the installation package, and depends on user behavior, which is difficult to control and adjust flexibly, and cannot control the scope of gray release. SUMMARY

[0005] The main purpose of the present application is to provide a gray release method, device, equipment and storage medium, which aims to solve the technical problem that the gray release is difficult to control accurately in the prior art.

[0006] To achieve the above purpose, the present application provides a gray release method, which comprises:

[0007] When a gray release instruction of a preset new function of an application is detected, load distribution information of the application is determined;

[0008] According to the load distribution information, a target load configuration strategy corresponding to the gray release instruction is determined;

[0009] According to the target load configuration strategy, the preset new function is controlled by flow diversion to complete the gray release of the preset new function.

[0010] Optionally, the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises:

[0011] According to the gray release instruction, the flow change information corresponding to the preset new function is determined;

[0012] determine target traffic node data according to the traffic change information and the load distribution information;

[0013] determine a target load corresponding to the target traffic node data to obtain a target load configuration strategy corresponding to the gray release instruction.

[0014] Optionally, the step of determining the target traffic node data according to the traffic change information and the load distribution information comprises:

[0015] extracting identification information of flow control according to the traffic change information, wherein the identification information of flow control comprises at least one of user information of the application and derivative information corresponding to the user information;

[0016] determining the target traffic node data according to the identification information of flow control and the load distribution information.

[0017] Optionally, the step of performing traffic diversion control on the preset new function according to the target load configuration strategy to complete the gray release of the preset new function comprises:

[0018] generating a load command and a rollback command corresponding to the preset new function according to the target load configuration strategy, wherein the load command and the rollback command are bound by a hash value generated by a preset algorithm;

[0019] performing traffic diversion control on the preset new function according to the load command and the rollback command to complete the gray release of the preset new function.

[0020] Optionally, the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises:

[0021] determining a type of the gray release instruction;

[0022] if the type is a multi-stage release type, determining stage information corresponding to the multi-stage release type;

[0023] determining a target load configuration strategy corresponding to multiple stages of the gray release instruction according to the load distribution information and the stage information.

[0024] Optionally, after the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information, the method comprises:

[0025] determining whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application;

[0026] If the target load configuration strategy is incompatible with the preset previous load configuration strategy, a redetermination instruction is generated to redetermine the target load configuration strategy corresponding to the gray release instruction.

[0027] Optionally, after the step of controlling flow diversion of the preset new function according to the target load configuration strategy to complete the gray release of the preset new function, the method comprises:

[0028] receiving a release result obtained after the gray release of the preset new function;

[0029] comparing the release result with a preset expected result to screen out a to-be-rolled-back release result that does not conform to the expected result;

[0030] determining a flow node corresponding to the to-be-rolled-back release result and prewarning the flow node.

[0031] The application further provides a gray release device, which comprises:

[0032] a first determination module configured to determine load distribution information of an application when a gray release instruction of a preset new function of the application is detected;

[0033] a second determination module configured to determine a target load configuration strategy corresponding to the gray release instruction according to the load distribution information;

[0034] a control module configured to control flow diversion of the preset new function according to the target load configuration strategy to complete the gray release of the preset new function.

[0035] Optionally, the second determination module comprises:

[0036] a first determination unit configured to determine flow change information corresponding to the preset new function according to the gray release instruction;

[0037] a second determination unit configured to determine target flow node data according to the flow change information and the load distribution information;

[0038] a third determination unit configured to determine a target load corresponding to the target flow node data to obtain the target load configuration strategy corresponding to the gray release instruction.

[0039] Optionally, the second determination unit comprises:

[0040] an extraction subunit configured to extract identification information of flow control according to the flow change information, wherein the identification information of flow control comprises at least one of user information of the application and derivative information corresponding to the user information;

[0041] A determination sub-unit is configured to determine target traffic node data according to the identification information of the flow control and the load distribution information.

[0042] Optionally, the control module comprises:

[0043] A generation unit is configured to generate a load command and a rollback command corresponding to the preset new function according to the target load configuration strategy, wherein the load command and the rollback command are bound by a hash value generated by a preset algorithm.

[0044] A flow control unit is configured to perform flow control on the preset new function according to the load command and the rollback command, so as to complete the gray release of the preset new function.

[0045] Optionally, the control module comprises:

[0046] A fourth determination unit is configured to determine the type of the gray release instruction.

[0047] A fifth determination unit is configured to determine stage information corresponding to the multi-stage release type if the type is the multi-stage release type.

[0048] A sixth determination unit is configured to determine a target load configuration strategy corresponding to the multi-stage of the gray release instruction according to the load distribution information and the stage information.

[0049] Optionally, the gray release device further comprises:

[0050] A third determination module is configured to determine whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application.

[0051] A generation module is configured to generate a redetermination instruction to redetermine the target load configuration strategy corresponding to the gray release instruction if the target load configuration strategy is not compatible with the preset previous load configuration strategy.

[0052] Optionally, the gray release device further comprises:

[0053] A receiving module is configured to receive a release result obtained after the gray release of the preset new function.

[0054] A screening module is configured to compare the release result with a preset expected result, and screen out a to-be-rolled-back release result that does not conform to the expected result.

[0055] A fourth determination module is configured to determine a traffic node corresponding to the to-be-rolled-back release result, and perform early warning on the traffic node.

[0056] The application further provides a gray release device, which is an entity node device, comprising a memory, a processor, and a program of the gray release method stored in the memory and executable on the processor, and the program of the gray release method can realize the steps of the gray release method as described above when executed by the processor.

[0057] The application further provides a storage medium having a program of the gray release method stored thereon, and the program of the gray release method can realize the steps of the gray release method as described above when executed by a processor.

[0058] The application further provides a computer program product comprising a computer program, which can realize the steps of the gray release method as described above when executed by a processor.

[0059] The application provides a gray release method, device, equipment and storage medium. Compared with the prior art in which a new version of an entity is issued to enable a user to obtain the permission of a corresponding gray test function, it is difficult to accurately control the gray release. In the application, when a gray release instruction of a preset new function of an application is detected, instead of enabling the user to obtain the permission of the corresponding gray test function, the load distribution information of the application is determined. Then, according to the load distribution information, a target load configuration strategy corresponding to the gray release instruction is determined. The preset new function is controlled by flow diversion according to the target load configuration strategy, so as to complete the gray release of the preset new function. That is, in the application, the gray release of the preset new function is performed by load configuration, and the soft and hard load configuration is easy to deploy and controllable, so that the gray release of the new function is more accurate and controllable, and the technical problem that it is difficult to accurately control the gray release in the prior art is solved. BRIEF DESCRIPTION OF DRAWINGS

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

[0061] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the accompanying drawings needed to be used in the embodiments or prior art description will be briefly introduced as follows. Obviously, for those skilled in the art, other drawings can also be obtained based on these drawings without creative labor.

[0062] Figure 1 The flowchart of the first embodiment of the gray release method of the application;

[0063] Figure 2 The flowchart of the detailed steps of step S20 in the gray release method of the application;

[0064] Figure 3 The device structure schematic diagram of the hardware running environment involved in the embodiment of the application is shown in the following figure.

[0065] Figure 4 The scene schematic diagram involved in the gray release method of the application is shown in the following figure.

[0066] The purpose implementation, functional features and advantages of the application will be further described with reference to the embodiments and the accompanying drawings. DETAILED DESCRIPTION

[0067] It should be understood that the specific embodiments described herein are merely intended to explain the application and are not intended to limit the application.

[0068] The embodiment of the application provides a gray release method, in the first embodiment of the gray release method of the application, referring to Figure 1 , the gray release method comprises:

[0069] Step S10, when detecting the gray release instruction of the preset new function of the application, determining the load distribution information of the application;

[0070] Step S20, according to the load distribution information, determining the target load configuration strategy corresponding to the gray release instruction;

[0071] Step S30, according to the target load configuration strategy, performing traffic diversion control on the preset new function, so as to complete the gray release of the preset new function.

[0072] The specific steps are as follows:

[0073] Step S10, when detecting the gray release instruction of the preset new function of the application, determining the load distribution information of the application;

[0074] In the process of rapid update iteration of Internet products, the iteratively updated products need to be released in gray scale. Gray release, also known as experience release, is a release form that can smoothly transition between new and old versions. Specifically, the main purpose of gray release is to release the application in a small range first, and then gradually expand the release range. In this way, the impact of the preset new function (including the new version application) of the application can be concentrated into a point, and then spread to a surface. When unexpected situations occur, it is easy to roll back and avoid causing a wide range of impacts.

[0075] For example, when a new version of an application needs to be updated or a preset new function of the application needs to be updated, the new version of the application or the preset new function of the application is first published to 1000 users, then the new version of the application or the preset new function of the application is published to 10,000 users, then the new version of the application or the preset new function of the application is further published to 1,000,000 users, and when no warning or abnormal state is detected after the new version of the application or the preset new function of the application is published to 1,000,000 users, the new version of the application or the preset new function of the application can be pushed to all users.

[0076] That is, smoothly transitioning users to a new and old version environment is a crucial link in gray-scale construction. In the existing gray-scale publishing process, the user is mainly given the right to access the corresponding gray-scale test function by issuing a new version of the entity, to achieve gray-scale publishing. This requires the user to actively update the installation package, depends on user behavior, and is difficult to control and flexibly adjust, and cannot control the scope of gray-scale publishing.

[0077] Or in the existing gray-scale publishing process, the code implementation or new module of the application that needs to be gray-scale published is relied on to implement or introduce the code implementation or new module into the application, which directly invades the existing business architecture, that is, the application logic and application module after modification invade the business process, bringing unknown risks. At the same time, this code implementation or new module is coupled with the business, which brings complexity and workload of development, and risks to functional maintenance and optimization in the later period.

[0078] In the embodiment, the gray-scale publishing method is used to realize stable, efficient and controllable gray-scale publishing through the gray-scale drainage device.

[0079] In the embodiment, it should be noted that the gray-scale publishing method can be applied to a gray-scale publishing system, and the gray-scale publishing system belongs to a gray-scale publishing device.

[0080] The gray-scale publishing system in the embodiment specifically solves the problem that it is difficult to accurately control gray-scale publishing, that is, the problem of flow control in gray-scale publishing.

[0081] In order to solve the problem of flow control in gray-scale publishing, the gray-scale publishing system in the embodiment can be provided with at least three working modules, one monitoring module, one analysis library and one management and control center. The working modules are a strategy analysis module, a strategy generation module and an execution module. The strategy analysis module is mainly responsible for analyzing the flow status in the gray-scale publishing process, specifically, analyzing the flow load status. The monitoring module is mainly responsible for generating flow control operation instructions, specifically, determining the flow load to which the current flow control is directed, and then generating flow control operation instructions for the flow load. In the embodiment, after obtaining the flow control operation instructions, the execution module is responsible for executing the flow control operation instructions.

[0082] In the embodiment, the monitoring module is responsible for monitoring real-time traffic and warning traffic that does not meet the expected results, and the analysis library is mainly responsible for storing real-time traffic data and traffic control record, etc. The management and control center is mainly responsible for unified management, configuration, analysis, execution and monitoring of each module. The specific architecture diagram is shown in Figure 4 .

[0083] In the embodiment, in the gray release process, the gray release is performed by traffic load instead of being downloaded by users in the prior art, so that the traffic in the gray release process can be controlled.

[0084] The following is the embodiment details of the specific gray release.

[0085] Specifically, in the embodiment, when the gray release instruction of the preset new function of the application is detected, the load distribution information of the application is determined. The triggering mode of the gray release instruction can be a touch triggering mode, a click triggering or a voice triggering mode. The preset new function can refer to the preset new function of the same application as before or the preset new function of a new application.

[0086] When the gray release instruction of the preset new function of the application is detected, the load distribution information of the application can be determined in the following ways.

[0087] Method one: when the gray release instruction of the preset new function of the application is detected, the hard load distribution information of the application corresponding to the preset new function is determined.

[0088] In the embodiment, the hard load distribution information can be specifically a hard load distribution strategy such as a hard load SLB strategy. The hard load distribution strategy can be a client distribution, a virtual IP address distribution, a load balancing algorithm distribution, etc.

[0089] Method two: when the gray release instruction of the preset new function of the application is detected, the soft load distribution information of the application corresponding to the preset new function is determined.

[0090] In the embodiment, the soft load distribution information can be specifically a soft load distribution strategy, which includes a soft load distribution software, a soft load client distribution, etc.

[0091] In the embodiment, when the gray release instruction of the preset new function of the application is detected, the load distribution information of the application can be determined in the following ways.

[0092] Manner one: through presetting gray release instruction of new function, triggering strategy analysis module in gray release system to execute to obtain distributed strategy of application, analyzing load distribution information in corresponding distributed strategy, wherein, the analysis manner of strategy analysis module is tree traversal manner, after analysis, chain storage structure is used to store load distribution information obtained by analysis.

[0093] In the embodiment, after obtaining the load distribution information, the load distribution information can be stored in an analysis library, and a tree node graph can be generated based on the load distribution information, and a flow observation graph can be provided based on the tree node graph, that is, during the gray release process, a flow control real-time monitoring panoramic graph can be provided for the gray release.

[0094] Manner two: directly obtaining the pre-stored load distribution information.

[0095] Step S20, determining a target load configuration strategy corresponding to the gray release instruction according to the load distribution information;

[0096] In the embodiment, after obtaining the load distribution information, a target load configuration strategy corresponding to the gray release instruction is determined according to the load distribution information, wherein determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises:

[0097] Manner one: determining the gray release instruction and a previous load configuration strategy according to the load distribution information to determine a corresponding target load configuration strategy;

[0098] In the embodiment, according to the gray release instruction and the previous load configuration strategy, the load needs to be locally adapted and adjusted.

[0099] Manner two: determining the gray release instruction and a gray configuration environment according to the load distribution information to determine a corresponding target load configuration strategy.

[0100] In the embodiment, according to the gray release instruction and the actual scene (i.e., the gray configuration environment), a corresponding target load configuration strategy is determined.

[0101] Specifically, referring to Figure 2 , the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises:

[0102] Step S21, determining flow change information corresponding to the preset new function according to the gray release instruction;

[0103] In the embodiment, according to the gray release instruction, the traffic change information corresponding to the preset new function is determined, specifically, according to the information carried in the gray release instruction, the traffic change information corresponding to the preset new function is determined, or according to the information carried in the gray release instruction, the traffic change information corresponding to the new version application is determined.

[0104] In step S22, the target traffic node data is determined according to the traffic change information and the load distribution information.

[0105] The target traffic node data is determined according to the traffic change information and the load distribution information, wherein the target traffic node data refers to the data of the node to be gray released, which can refer to the selected test node (or load).

[0106] The step of determining the target traffic node data according to the traffic change information and the load distribution information comprises:

[0107] In step A1, the identification information of the flow control is extracted according to the traffic change information, wherein the identification information of the flow control comprises at least one of the user information of the application and the derivative information corresponding to the user information.

[0108] In the embodiment, the policy generation module comprises an escaper, and the main function of the escaper is to convert the traffic change information into a configuration command of the load device (specifically, the target load configuration strategy is determined through the traffic change information, and then the configuration command is determined). In the process of determining the target load configuration strategy through the traffic change information, the identification information of the flow control needs to be extracted according to the traffic change information, and the identification information of the flow control comprises at least one of the user information of the application and the derivative information corresponding to the user information, wherein the user information of the application can refer to the user account, the tail number, the region, the version used, etc., and the derivative information corresponding to the user information can refer to the identification information of the target application accessed by the application, the terminal information of the visitor, etc.

[0109] In step A2, the target traffic node data is determined according to the identification information of the flow control and the load distribution information.

[0110] In the embodiment, the target traffic node data is determined according to the identification information of the flow control and the load distribution information, specifically, the selected test node (or load) is obtained from the load distribution information according to the identification information of the flow control.

[0111] In step S23, the target load corresponding to the target traffic node data is determined to obtain the target load configuration strategy corresponding to the gray release instruction.

[0112] In the embodiment, after the target load corresponding to the target traffic node data is determined, the preset new function is selected to be tested on the corresponding target load, so that the target load configuration strategy corresponding to the gray release instruction is obtained.

[0113] In step S30, the preset new function is controlled by traffic diversion according to the target load configuration strategy, so as to complete the gray release of the preset new function.

[0114] In the embodiment, after the target load configuration strategy is obtained, the preset new function is controlled by traffic diversion, that is, the preset new function is introduced to the corresponding target load to test the preset new function, so as to complete the gray release of the preset new function.

[0115] In the embodiment, since the preset new function is introduced to the corresponding target load by the gray release device through the diversion mode instead of adding codes or modules on the application, the risk of gray release is reduced.

[0116] The step of controlling the preset new function by traffic diversion according to the target load configuration strategy to complete the gray release of the preset new function comprises:

[0117] In step S31, the load command and the rollback command corresponding to the preset new function are generated according to the target load configuration strategy, wherein the load command and the rollback command are bound by a hash value generated by a preset algorithm.

[0118] In the embodiment, the load command and the rollback command corresponding to the preset new function are generated according to the target load configuration strategy, wherein the load command and the rollback command are bound by a hash value generated by a preset algorithm.

[0119] Specifically, in the embodiment, the strategy generation module further comprises a protector, and the main function of the protector is to generate the corresponding rollback command and generate a unique Hash value to form a binding relationship between the load command (load execution) and the rollback command when the corresponding load command (or configuration command) is generated while the escaper completes the work.

[0120] In the embodiment, since the load command (load execution) and the rollback command are bound, it is convenient to withdraw the corresponding gray release version, and adverse effects caused by problems in the version are avoided.

[0121] In step S32, the preset new function is controlled by traffic diversion according to the load command and the rollback command, so as to complete the gray release of the preset new function.

[0122] In the embodiment, according to the load command and the rollback command, the preset new function is controlled by flow diversion to complete the gray release of the preset new function. In the process of controlling the preset new function by flow diversion according to the load command and the rollback command, the function of the issuing execution module responsible for issuing the generated target load configuration strategy, and the main interactive service end of the issuing execution module is a hard load or a soft load. Generally, the hard load (Array, F5, etc.) and the soft load (Haproxy, Nginx, etc.) need to provide an API interface, and the issuing execution module calls such an interface to execute the corresponding gray release function.

[0123] The application provides a gray release method and device, equipment and storage medium. Compared with the prior art, in which users are allowed to obtain the permission of the corresponding gray test function by issuing a new version of an entity, it is difficult to accurately control the gray release. In the application, when the gray release instruction of the preset new function of an application is detected, instead of allowing the user to obtain the permission of the corresponding gray test function, the load distribution information of the application is determined. Then, according to the load distribution information, the target load configuration strategy corresponding to the gray release instruction is determined. The preset new function is controlled by flow diversion according to the target load configuration strategy to complete the gray release of the preset new function. That is, in the application, the gray release of the preset new function is performed by load configuration, and the soft and hard load configuration is easy to deploy and controllable. Therefore, the gray release of the new function can be more accurate and controllable, and the technical problem of difficult accurate control of the gray release in the prior art is solved.

[0124] Further, based on the first embodiment of the application, another embodiment of the application is provided, in which the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises:

[0125] Step B1, determining the type of the gray release instruction;

[0126] In the embodiment, the type of the gray release instruction is also determined, and the type of the gray release instruction includes a multi-stage release type and a one-stage release type.

[0127] Step B2, if the type is a multi-stage release type, determining the stage information corresponding to the multi-stage release type;

[0128] If the type is a multi-stage release type, the stage information corresponding to the multi-stage release type is determined, and the stage information includes deployment time information of different stages, attribute information of different stages, etc.

[0129] Step B3, determining a target load configuration strategy corresponding to multiple stages of the gray release instruction according to the load distribution information and the stage information.

[0130] According to the load distribution information and the stage information (deployment time information of different stages and attribute information of different stages), a target load configuration strategy corresponding to multiple stages of the gray release instruction is determined, specifically, a target load configuration strategy corresponding to each stage in the multiple stages corresponding to the gray release instruction is determined.

[0131] In this embodiment, the type of the gray release instruction is determined, and if the type is a multi-stage release type, the stage information corresponding to the multi-stage release type is determined, and a target load configuration strategy corresponding to multiple stages of the gray release instruction is determined according to the load distribution information and the stage information. In this embodiment, multiple different stages realize one-time load configuration, which improves the efficiency of gray release.

[0132] Further, based on the first and second embodiments, another embodiment of the present application is provided, in which the method comprises:

[0133] Step C1, determining whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application;

[0134] In this embodiment, it is also determined whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application, specifically, whether the gray environment configuration is compatible is determined to determine whether the target load configuration strategy is compatible with the preset previous load configuration strategy of the application.

[0135] Step C2, if the target load configuration strategy is not compatible with the preset previous load configuration strategy, a redetermination instruction is generated to redetermine the target load configuration strategy corresponding to the gray release instruction.

[0136] If the target load configuration strategy is not compatible with the preset previous load configuration strategy, a redetermination instruction is generated to redetermine the target load configuration strategy corresponding to the gray release instruction, specifically, the environment configuration of the previous load configuration strategy is obtained, and the target load configuration strategy corresponding to the gray release instruction is redetermined according to the environment configuration of the previous load configuration strategy.

[0137] In the embodiment, it is also determined whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application; if the target load configuration strategy is incompatible with the preset previous load configuration strategy, a re-determination instruction is generated to re-determine the target load configuration strategy corresponding to the gray release instruction. In the embodiment, the incompatibility with the preset previous load configuration strategy is avoided, and thus the gray release is accurately performed.

[0138] Further, based on the above-mentioned embodiments in the application, another embodiment of the application is provided, in which, after the step of performing flow diversion control on the preset new function according to the target load configuration strategy to complete the gray release of the preset new function, the method comprises:

[0139] Step D1, receiving a release result obtained after the gray release of the preset new function;

[0140] Step D2, comparing the release result with a preset expected result to screen out a to-be-rolled-back release result that does not conform to the expected result;

[0141] In the embodiment, the release result obtained after the gray release of the preset new function is also received, and the release result is compared with a preset expected result to screen out a to-be-rolled-back release result that does not conform to the expected result.

[0142] Step D3, determining a flow node corresponding to the to-be-rolled-back release result and prewarning the flow node.

[0143] In the embodiment, the flow node corresponding to the to-be-rolled-back release result is determined, specifically, the flow node corresponding to the to-be-rolled-back release result is determined through a preset rollback mechanism, and the flow node is prewarned.

[0144] In the embodiment, the release result obtained after the gray release of the preset new function is received, the release result is compared with a preset expected result to screen out a to-be-rolled-back release result that does not conform to the expected result, and a flow node corresponding to the to-be-rolled-back release result is determined and prewarned. In the embodiment, since the incompatible flow node is prewarned, it is beneficial to subsequently find the reason for the failure of the gray release.

[0145] Reference is made to Figure 3 , Figure 3 is a device structure schematic diagram of a hardware running environment involved in the embodiment scheme of the application.

[0146] As Figure 3As shown, the gray release device can include a processor 1001, such as a CPU, a memory 1005, and a communication bus 1002. The communication bus 1002 is used to realize the connection communication between the processor 1001 and the memory 1005. The memory 1005 can be a high-speed RAM memory, or a stable memory (non-volatile memory), such as a disk memory. The memory 1005 can also be a storage device independent of the aforementioned processor 1001.

[0147] Optionally, the gray release device can also include a rectangular user interface, a network interface, a camera, an RF (Radio Frequency) circuit, a sensor, an audio circuit, a WiFi module, and the like. The rectangular user interface can include a display screen (Display), an input sub-module such as a keyboard (Keyboard), and the optional rectangular user interface can also include a standard wired interface, a wireless interface. The network interface can optionally include a standard wired interface, a wireless interface (such as a WI-FI interface).

[0148] Those skilled in the art can understand that Figure 3 The structure of the gray release device shown in the above embodiments does not constitute a limitation on the gray release device, and can include more or fewer components than shown, or combine certain components, or different component arrangements.

[0149] As Figure 3 As shown, the memory 1005 as a storage medium can include an operating system, a network communication module, and a gray release program. The operating system is a program that manages and controls the hardware and software resources of the gray release device, supports the running of the gray release program and other software and / or programs. The network communication module is used to realize the communication between the components in the memory 1005, and the communication with other hardware and software in the gray release system.

[0150] In Figure 3 In the gray release device shown, the processor 1001 is used to execute the gray release program stored in the memory 1005, and realize the steps of the gray release method described in any of the above embodiments.

[0151] The specific implementation of the gray release device of the present application is basically the same as the above-mentioned gray release method, and will not be repeated here.

[0152] The present application also provides a gray release device, which comprises:

[0153] A first determination module is configured to determine the load distribution information of the application when detecting the gray release instruction of the preset new function of the application.

[0154] a second determining module, configured to determine a target load configuration strategy corresponding to the gray release instruction according to the load distribution information;

[0155] a control module, configured to perform flow diversion control on the preset new function according to the target load configuration strategy, so as to complete the gray release of the preset new function.

[0156] Optionally, the second determining module comprises:

[0157] a first determining unit, configured to determine flow change information corresponding to the preset new function according to the gray release instruction;

[0158] a second determining unit, configured to determine target flow node data according to the flow change information and the load distribution information;

[0159] a third determining unit, configured to determine a target load corresponding to the target flow node data, so as to obtain the target load configuration strategy corresponding to the gray release instruction.

[0160] Optionally, the second determining unit comprises:

[0161] an extraction subunit, configured to extract identification information of flow control according to the flow change information, wherein the identification information of flow control comprises at least one of user information of the application and derivative information corresponding to the user information;

[0162] a determination subunit, configured to determine target flow node data according to the identification information of flow control and the load distribution information.

[0163] Optionally, the control module comprises:

[0164] a generation unit, configured to generate a load command and a rollback command corresponding to the preset new function according to the target load configuration strategy, wherein the load command and the rollback command are bound by a hash value generated by a preset algorithm;

[0165] a flow diversion control unit, configured to perform flow diversion control on the preset new function according to the load command and the rollback command, so as to complete the gray release of the preset new function.

[0166] Optionally, the control module comprises:

[0167] a fourth determining unit, configured to determine a type of the gray release instruction;

[0168] a fifth determining unit, configured to determine stage information corresponding to a multi-stage release type if the type is the multi-stage release type;

[0169] The sixth determining unit is configured to determine a target load configuration strategy corresponding to the multiple stages according to the load distribution information and the stage information.

[0170] Optionally, the gray release device further comprises:

[0171] The third determining module is configured to determine whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application.

[0172] The generating module is configured to generate a re-determination instruction to re-determine the target load configuration strategy corresponding to the gray release instruction if the target load configuration strategy is not compatible with the preset previous load configuration strategy.

[0173] Optionally, the gray release device further comprises:

[0174] The receiving module is configured to receive a release result obtained after the preset new function is released in a gray manner.

[0175] The screening module is configured to compare the release result with a preset expected result, and screen out a to-be-rolled-back release result that does not conform to the expected result.

[0176] The fourth determining module is configured to determine a traffic node corresponding to the to-be-rolled-back release result, and perform a pre-warning on the traffic node.

[0177] The specific implementation of the gray release device of the present application is basically the same as that of the above-mentioned gray release method, and will not be repeated here.

[0178] The present application provides a storage medium, and the storage medium stores one or more programs, and the one or more programs can also be executed by one or more processors to implement the steps of the gray release method described in any one of the above embodiments.

[0179] The specific implementation of the storage medium of the present application is basically the same as that of the above-mentioned gray release method, and will not be repeated here.

[0180] The present application also provides a computer program product comprising a computer program which, when executed by a processor, implements the steps of the above-mentioned gray release method.

[0181] The specific implementation of the computer program product of the present application is basically the same as that of the above-mentioned gray release method, and will not be repeated here.

[0182] It should be noted that, in this document, the terms "comprises", "comprising", or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can also include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element preceded by "comprises... a" does not, without more constraints, foreclose the existence of additional identical elements in the process, method, article, or apparatus that comprises the recited element.

[0183] The above-mentioned embodiment numbers of the present application are only for description, and do not represent the advantages and disadvantages of the embodiments.

[0184] From the above description of the embodiments, those skilled in the art can clearly understand that the above-mentioned embodiment methods can be realized by means of software and necessary general hardware platforms, and of course can also be realized by hardware, but in many cases the former is a better embodiment. Based on such understanding, the technical solutions of the present application can be embodied in the form of a software product, which is stored in a storage medium (such as a ROM / RAM, a magnetic disk, or an optical disk), and includes a plurality of instructions for causing a terminal device (which can be a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the methods described in the various embodiments of the present application.

[0185] The above is only the preferred embodiment of the present application, and does not limit the patent scope of the present application, and any equivalent structure or equivalent flow transformation made by using the content of the specification and drawings, or directly or indirectly applied to other related technical fields, are also included in the patent protection scope of the present application.

Claims

1. A method of gray release, characterized by, The gray release method comprises: When a preset new function gray release instruction of an application is detected, load distribution information of the application is determined; According to the load distribution information, a target load configuration strategy corresponding to the gray release instruction is determined; According to the target load configuration strategy, traffic diversion control is performed on the preset new function instead of adding code or modules on the application to complete the gray release of the preset new function, wherein the traffic diversion control is not performed by a user downloading a corresponding application; The step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises: According to the gray release instruction, traffic change information corresponding to the preset new function is determined; According to the traffic change information and the load distribution information, target traffic node data is determined; The target load corresponding to the target traffic node data is determined to obtain the target load configuration strategy corresponding to the gray release instruction.

2. The gray scale publishing method of claim 1, wherein, The step of determining the target traffic node data according to the traffic change information and the load distribution information comprises: According to the traffic change information, identification information of flow control is extracted, wherein the identification information of flow control comprises at least one of user information of the application and derivative information corresponding to the user information; According to the identification information of flow control and the load distribution information, target traffic node data is determined.

3. The gray scale publishing method of claim 1, wherein, The step of performing traffic diversion control on the preset new function according to the target load configuration strategy to complete the gray release of the preset new function comprises: According to the target load configuration strategy, load commands and rollback commands corresponding to the preset new function are generated, wherein the load commands and rollback commands are bound by a hash value generated by a preset algorithm; According to the load commands and rollback commands, traffic diversion control is performed on the preset new function to complete the gray release of the preset new function.

4. The gray scale publishing method of claim 1, wherein, The step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information comprises: The type of the gray release instruction is determined; If the type is a multi-stage release type, stage information corresponding to the multi-stage release type is determined; According to the load distribution information and the stage information, a target load configuration strategy corresponding to the multi-stage of the gray release instruction is determined.

5. The gray scale publishing method of claim 1, wherein, After the step of determining the target load configuration strategy corresponding to the gray release instruction according to the load distribution information, the method comprises: It is determined whether the target load configuration strategy is compatible with a preset previous load configuration strategy of the application; If the target load configuration strategy is not compatible with the preset previous load configuration strategy, a re-determination instruction is generated to re-determine the target load configuration strategy corresponding to the gray release instruction.

6. The gray scale publishing method of claim 1, wherein, After the step of performing traffic diversion control on the preset new function according to the target load configuration strategy to complete the gray release of the preset new function, the method comprises: A release result obtained after the gray release of the preset new function is received; The publishing result is compared with a preset expected result, and a to-be-rolled-back publishing result that does not conform to the expected result is screened out; A traffic node corresponding to the to-be-rolled-back publishing result is determined, and the traffic node is prewarned.

7. A gray release device characterized by comprising: The gray publishing device comprises: A first determining module configured to determine load distribution information of the application when detecting a gray publishing instruction of a preset new function of the application; A second determining module configured to determine a target load configuration strategy corresponding to the gray publishing instruction according to the load distribution information; A control module configured to perform traffic diversion control on the preset new function instead of adding a code or a module on the application to complete gray publishing of the preset new function, wherein the traffic diversion control is not performed by a user downloading a corresponding application; The second determining module is configured to: Determine traffic change information corresponding to the preset new function according to the gray publishing instruction; Determine target traffic node data according to the traffic change information and the load distribution information; Determine a target load corresponding to the target traffic node data to obtain the target load configuration strategy corresponding to the gray publishing instruction.

8. A gray release device, characterized by, The gray publishing device comprises a memory, a processor, and a program stored in the memory and used to implement the gray publishing method, The memory is configured to store the program used to implement the gray publishing method; The processor is configured to execute the program used to implement the gray publishing method to implement the steps of the gray publishing method according to any one of claims 1 to 6.

9. A storage medium, characterized by The storage medium stores the program used to implement the gray publishing method, and the program used to implement the gray publishing method is executed by the processor to implement the steps of the gray publishing method according to any one of claims 1 to 6.

Citation Information

Patent Citations

  • Target object push system and method

    CN108156204A

  • Client gray release method and device, server and storage medium

    CN109739527A