WO2020181684A1 - Grayscale release management method, system and device, and storage medium - Google Patents

Grayscale release management method, system and device, and storage medium Download PDF

Info

Publication number
WO2020181684A1
WO2020181684A1 PCT/CN2019/092692 CN2019092692W WO2020181684A1 WO 2020181684 A1 WO2020181684 A1 WO 2020181684A1 CN 2019092692 W CN2019092692 W CN 2019092692W WO 2020181684 A1 WO2020181684 A1 WO 2020181684A1
Authority
WO
WIPO (PCT)
Prior art keywords
gray
release
scale
version
user
Prior art date
Application number
PCT/CN2019/092692
Other languages
French (fr)
Chinese (zh)
Inventor
乐志能
Original Assignee
平安科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2020181684A1 publication Critical patent/WO2020181684A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Definitions

  • This application relates to the technical field of gray-scale publishing, and in particular, to a method, system, device, and storage medium for managing gray-scale publishing.
  • Gray release refers to a release method that can smoothly transition between black and white. A/B testing can be performed on it, that is, some users continue to use product feature A, and some users start to use product feature B. If users have no objections to B, then gradually expand the scope and move all users to B. Come. Grayscale release can ensure the stability of the overall system, and problems can be found and adjusted during the initial grayscale to ensure product impact.
  • the administrator sets the number of grayscale servers and production servers. After determining the user scale that the number of grayscale servers can carry, set the maximum grayscale ratio when performing the grayscale setting, such as Set up 2 gray-scale servers and 10 production servers. Then, when performing gray-scale publishing, first publish to these two gray-scale servers, allowing up to 20% of user traffic to be switched to the gray-scale environment.
  • the gray scale cannot be adjusted adaptively based on user feedback, and the gray scale can only be manually determined.
  • the number of degree servers then calculates the gray scale, which is inefficient and leads to untimely user traffic switching; secondly, the gray scale is completely dependent on the calculation of the manager, and if the calculation is wrong, it will cause production failure.
  • This application provides a method, system, device and storage medium for managing gray release, which can solve the technical defects proposed in the prior art.
  • the present application provides a method for managing gray release, and the method includes:
  • the gray level release management platform sets the gray level diversion ratio, and synchronizes the gray level diversion ratio to the release module;
  • the version distribution module calculates the target number of candidate grayscale servers for this grayscale release according to the grayscale diversion ratio and the current number of production servers;
  • the version distribution module selects a target grayscale server from the candidate grayscale servers, and the target grayscale server is used to perform a grayscale release of a new version;
  • the version release module synchronizes the Internet Protocol IP address of the grayscale server that has been grayed out to the offload engine;
  • the offloading engine groups the users of each version according to the grayscale offload ratio and the IP address of the grayscale server undertaking this grayscale publishing task to obtain multiple user groups, and mark each user group as a category, And confirm the server category corresponding to each user group;
  • the distribution engine distributes service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  • the version distribution module calculates the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers, including:
  • the version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers;
  • the gray release strategy includes one of the following items:
  • the configuration information includes at least one of the following items:
  • the release process is automatically triggered and all users are switched to the new version.
  • the version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers, including:
  • the gray-scale distribution ratio calculate The target quantity.
  • the method before the grayscale release management platform sets the grayscale split ratio, the method further includes:
  • the gray release management platform obtains information fed back by users, and the information fed back by users includes information fed back by users using the new version of the application, normal service information or abnormal service information;
  • the gray-scale release management platform sets an initial gray-scale ratio and a gray-scale release strategy, and the gray-scale release strategy refers to a gray-scale release according to a preset period and a preset gray-scale ratio until all versions are released;
  • the grayscale distribution management platform setting the grayscale distribution ratio includes:
  • the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  • the gray-scale release management platform dynamically adjusts the gray-scale distribution ratio adapted to the current gray-scale release according to the information fed back by the user and the gray-scale release strategy, including:
  • the gray-scale release management platform increases the initial gray-scale proportion according to the first proportion
  • the gray-scale release management platform will increase the initial gray-scale ratio according to the second ratio; the first ratio is smaller than the second ratio, and the first The upper bound of a numerical interval is smaller than the lower bound of the second numerical interval.
  • At least one of the following grouping strategies is adopted when the users of each version are grouped:
  • the distribution engine divides users of the same version or users whose version is lower than the new version into a user group
  • the offloading engine performs grouping according to at least one of the IP address, white list, user tag, service field, or service channel of the user terminal;
  • the offloading engine is grouped according to at least one of the brand, model, operating system, or network type of the user terminal.
  • the shunt engine shunts service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs, including:
  • the offloading engine offloads the old version of the business data to the user group that is not grayed out rules, and offloads the new version of the business data to the user group that is grayed out rules;
  • the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
  • the present application provides a gray-scale release management system, which has the function of implementing the method corresponding to the method for managing gray-scale release provided in the first aspect.
  • the functions can be realized by hardware, or by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions, and the modules may be software and/or hardware.
  • the gray release management system includes:
  • the gray-scale release management platform is used to set the gray-scale distribution ratio, and synchronize the gray-scale distribution ratio to the version distribution module;
  • the version distribution module is used to calculate the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers when the version is issued; Select the target gray-scale server from the degree server, and the target gray-scale server is used for gray-scale publishing of a new version; after the target gray-scale server completes the release of the new version, the gray-scale that has been The Internet Protocol IP address of the server is synchronized to the offload engine;
  • the distribution engine is used to group users of each version to obtain multiple user groups according to the gray distribution ratio synchronized by the version distribution module and the IP address of the gray server that is responsible for this gray distribution task. Mark the category for each user group and confirm the server category corresponding to each user group;
  • the offloading engine is also used to offload service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  • the release module is specifically used to:
  • the gray release strategy includes one of the following items:
  • the configuration information includes at least one of the following items:
  • the release process is automatically triggered and all users are switched to the new version.
  • the release module is specifically used for:
  • the gray-scale distribution ratio calculate The target quantity.
  • the grayscale release management platform sets the grayscale distribution ratio, it is also used to:
  • the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
  • the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  • the gray release management platform is specifically used for:
  • the initial gray scale is adjusted upward according to the first proportion
  • the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
  • the offloading engine uses at least one of the following grouping strategies to group users of each version:
  • Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
  • grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
  • the shunt engine is specifically used for:
  • the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
  • control the version-issuing module When issuing a version, control the version-issuing module to calculate the target number of candidate gray-scale servers for this gray-scale release according to the gray-scale split ratio and the number of current production servers; from the candidate gray-scale servers Select the target gray-scale server in the gray-scale server, and the target gray-scale server is used for gray-scale release of a new version; after the target gray-scale server completes the release of the new version, the The Internet Protocol IP address is synchronized to the offload engine;
  • the users of each version are grouped to obtain multiple user groups, and each user group is marked with a category, and each user group is confirmed The server category corresponding to the user group;
  • the distribution engine is controlled to distribute service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  • the processor is specifically configured to perform the following operations:
  • the gray release strategy includes one of the following items:
  • the configuration information includes at least one of the following items:
  • the release process is automatically triggered and all users are switched to the new version.
  • the processor is specifically configured to perform the following operations:
  • the gray-scale distribution ratio calculate The target quantity.
  • the processor is further used to perform the following operations before setting the gray-scale split ratio:
  • the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
  • the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  • the processor is specifically used for:
  • the initial gray scale is adjusted upward according to the first proportion
  • the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
  • the processor uses at least one of the following grouping strategies to group users of each version:
  • Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
  • grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
  • Another aspect of the present application provides a volatile computer storage medium, which includes instructions, which when run on a computer, cause the computer to execute the methods described in the foregoing aspects.
  • the gray-scale release management platform sets the gray-scale distribution ratio, and synchronizes the gray-scale distribution ratio to the plate-issuing module; when the plate is issued, the plate-issuing module divides according to the gray level Calculate the target number of candidate grayscale servers based on the ratio and the number of production servers; the release module selects the target grayscale server from the candidate grayscale servers, and after the new version is released, the release module will publish the grayscale server's IP
  • the address is synchronized to the offloading engine; the offloading engine divides the users of each version into multiple user groups according to the grayscale offload ratio and the IP address of the grayscale server and marks the category, confirms the server category corresponding to each user group, and according to the user belongs to The category of the user group, which divides the business data streams of different versions to the corresponding user group.
  • the application can adaptively adjust the gray scale according to user feedback, automatically count the current number of gray servers and calculate the gray scale, improve the efficiency of gray
  • FIG. 1 is a schematic diagram of a topology of a grayscale release management system in an embodiment of the application
  • FIG. 2 is a schematic flowchart of a method for managing gray release in an embodiment of the application
  • FIG. 3 is a schematic diagram of a structure of a gray-scale release management system according to an embodiment of the application.
  • Fig. 4 is a schematic diagram of a structure of a computer device in an embodiment of the application.
  • a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to the clearly listed Those steps or modules may include other steps or modules that are not clearly listed or are inherent to these processes, methods, products, or equipment.
  • the division of modules in this application is only a logical division In actual applications, there may be other divisions in implementation. For example, multiple modules may be combined or integrated in another system, or some features may be ignored or not implemented.
  • This application provides a method, system, equipment and storage medium for managing gray release, which can be used for the testing and release of new products, to obtain early user feedback, improve product functions, improve product quality, and allow users to participate in product testing, and strengthen and User interaction to reduce the range of users affected by product upgrades.
  • this application mainly provides the following technical solutions:
  • the distribution module By first setting the grayscale distribution ratio, and then synchronize the set distribution ratio to the distribution module.
  • the distribution module reads the set distribution ratio, and then calculates the required grayscale based on the number of existing production servers. Degree server, and then select the gray server to release the new version in gray. After the new version is released, synchronize the host of the server with gray release to the offloading engine, and then if the user is a user who is subject to the gray rule, you can access Grayscale server, to access the new version in Grayscale server.
  • a gray-scale release management system (also referred to as a gray-scale system) as shown in FIG. 1 includes a gray-scale release management platform, a release module, and a distribution engine.
  • the gray release management platform can be used to release the version to the designated server, and return the release progress and release log to the release module.
  • the release module can be used to select the gray release strategy (also called the gray release rule), display the reason for the failure to release, display the release progress, and display the release log of the gray server.
  • the distribution engine can be used to switch the traffic of the production server to the gray server, verify whether there is any traffic in the release window, and determine whether the release is allowed.
  • the shunt engine can use the following two access methods: one is http access, which is developed using a scripting language (such as lua), and is based on a web proxy server (such as Nginx) for grayscale; the other It is a dubbo access method, developed by java, and uses gray-scale load balancing to achieve gray-scale.
  • http access which is developed using a scripting language (such as lua), and is based on a web proxy server (such as Nginx) for grayscale
  • Nginx web proxy server
  • gray-scale load balancing gray-scale
  • the gray-scale release management platform sets a gray-scale split ratio, and synchronizes the gray-scale split ratio to a version issuing module.
  • the gray-scale distribution ratio is calculated by the gray-scale release management background, which can be an independently deployed server.
  • the gray-scale distribution ratio is generally set by the application publisher, for example, different gray-scale distribution ratios are set according to the current application version, and the gray-scale distribution ratio is restricted in combination with information such as the current number of production servers.
  • the release module refers to the release tool of the operation and maintenance personnel, which can automatically deploy the program package to the server.
  • the release module will receive instructions from the grayscale platform, and calculate the need according to the shunt ratio set by the grayscale platform Distribute the version to several production servers, and after the completion of the version, the results will be synchronized to the gray management platform.
  • the method before the grayscale release management platform sets the grayscale split ratio, the method further includes:
  • the user feedback information includes user feedback information using the new version of the application, service normal information or service abnormal information; wherein the user feedback information includes user feedback using the new version of the application information.
  • User feedback information is collected and managed by the gray management platform.
  • the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released.
  • the gray distribution management platform sets the gray distribution ratio
  • the gray distribution ratio suitable for the current gray distribution can be dynamically adjusted according to the information fed back by the user and the gray distribution strategy.
  • the dynamically adjusting the gray-scale distribution ratio adapted to the current gray-scale publishing according to the information fed back by the user and the gray-scale publishing strategy includes:
  • the initial gray scale will be increased according to the first proportion; for example, when the normal proportion of the normal service information fed back is 60%-80%, the initial Increase the gray scale by 2 points.
  • the initial gray scale is increased according to the second proportion; the first proportion is less than the second proportion, and the upper bound of the first numerical interval is less than The lower bound value of the second numerical interval. For example, when the normal ratio of the service normal information fed back is 80%-100%, the initial gray scale ratio is increased by 10 points.
  • the degree of the initial gray scale is determined by a preset up- or down-adjustment method, which can achieve the smoothness of partial or full switching of user traffic, and achieve no Seamless switching and gradual release, leaving users unaware.
  • the version distribution module calculates the target number of candidate grayscale servers for this grayscale release according to the grayscale distribution ratio and the current number of production servers.
  • the version distribution module calculates the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers, including:
  • the version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers;
  • the gray release strategy includes one of the following items:
  • the target grayscale server from the candidate grayscale servers to carry out the instruction information for batch grayscale release.
  • the default instructions for batch grayscale release are 30%, 30%, and 40% respectively.
  • the configuration information includes at least one of the following items:
  • the diversion strategy includes user scale, release frequency, function coverage, rollback strategy, operation strategy, and new and old system deployment strategy.
  • the suspension or rollback to the original version For example, the current production server deploys version 4.1. If the sound field server is selected as the target gray server to deploy version 4.2, if there is an interruption in the release process, it will roll back to version 4.1.
  • the release module when the release module calculates the target number of candidate grayscale servers, in addition to introducing the number of production servers and the grayscale distribution ratio, it can also introduce the current user's visits, the total number of users using the production service, and Dimensional information such as the number of users of the old version and the new version, and other dimensional information, so as to improve accuracy and allocate server resources reasonably.
  • the version release module may also be based on the gray-scale release strategy, the gray-scale split ratio, the number of current production servers, the current user’s access volume, the total number of users using this production service, and the number of users using the old version. The number of users, the number of users of the new version, and the target number are calculated.
  • the version issuing module selects a target grayscale server from the candidate grayscale servers.
  • the target grayscale server is used to perform grayscale release of a new version.
  • a candidate grayscale server with lighter load or strong hardware capability may be selected as the target grayscale server from the candidate grayscale servers based on a load balancing strategy.
  • the version distribution module synchronizes the Internet Protocol IP address of the grayscale server that has been grayed out to the offloading engine.
  • Nginx configuration files + LUA scripts may be used to achieve gray-scale publishing, to achieve gray-scale publishing based on cookies, or to achieve gray-scale publishing based on source IP addresses.
  • the cookie key is queried according to the value of the version of the cookie; if the cookie value is V1, the user traffic is diverted to the server corresponding to hi-linux_01; if the cookie value is V2, the user traffic is diverted to The server corresponding to hi-linux_02; if the cookie values do not match, the user traffic will be diverted to the server corresponding to hi-linux_01 by default.
  • the distribution engine groups users of each version according to the gray distribution ratio and the IP address of the gray server that is responsible for the gray distribution task to obtain multiple user groups, and mark each user group Category, and confirm the server category corresponding to each user group.
  • At least one of the following grouping strategies is adopted when the users of each version are grouped:
  • the shunt engine divides users of the same version or users whose version is lower than the new version into a user group; for example, a game company has updated the game version, and the current new version is version 4.2.
  • the current user level of the game company on the market is different. 1. Some users are subjectively unwilling to update due to the limited hardware of the terminal. Therefore, the versions of this game still circulating on the market are 3.0, 3.2, 4.0 and 4.1, and 3.0, 3.2, 4.0 and 4.1 are all lower than the current ones. Version 4.2 to be released. Since each production server only provides one game version service, in order to facilitate group release and group management, users who use version 3.0, version 3.2, version 4.0 and version 4.1 need to be divided into an independent user group. .
  • the offloading engine performs grouping according to at least one of the IP address of the user terminal, white list, user tag, business field, user common function or service channel; wherein, the white list refers to a white list composed of users with gray rules .
  • User tags refer to tags labeled for users who use different versions.
  • Business fields include voice services, video services, short message services, financial services, or government services.
  • Service channels refer to the channels through which business services are provided, such as securities services or banking services.
  • the offloading engine is grouped according to at least one of the brand, model, operating system, or network type of the user terminal.
  • the operating systems include Android system, Windows system, IOS system, Linux system and other operating systems, and this application does not limit the operating system.
  • the network types include network types of network standards such as China Mobile, China Telecom, and China Unicom, and this application does not limit network types and operators. For example, taking Huawei mobile phones as an example, when grouping according to mobile phone models, users who use MIX2S and users who use 6X will be divided into different user groups; grouping according to network type, that is, GSM, CDMA, 3G, 4G will be used respectively Users of network standards such as 5G are divided into different user groups.
  • the shunt engine shunts service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  • the offloading engine offloads service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs, including:
  • the user Distribute the old version of the business data to the user group that has not been grayed out, and divert the new version of the business data to the user group that is grayed out.
  • the user is a user who is a gray-scale rule
  • the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
  • Users who are under the gray-scale rule can also be referred to as users in the gray-scale list.
  • the users in the gray-scale list enjoy the new version of the service, which is not limited in this application.
  • this application can adaptively adjust the gray scale according to user feedback, automatically count the current number of gray servers and calculate the gray scale, and realize intelligent shunting without human intervention.
  • Gray-scale server thereby improving the efficiency of gray-scale publishing and switching user traffic in a timely manner. Since the gray scale is adaptively adjusted and user feedback is introduced, it can improve the accuracy of calculating the gray scale, avoid the problem of production failure due to the calculation of the gray scale, and reduce the accident caused by the error of the gray scale diversion personnel .
  • the grayscale release of this application is to directly perform the grayscale release on the original production server, and there is no need to build a new grayscale server. Therefore, after adjusting the distribution ratio, the distribution ratio will be distributed on the original production server. Select multiple production servers corresponding to the number of production servers for grayscale release.
  • FIG. 3 a schematic structural diagram of a gray release management system 30, which can be applied to the testing and release of new products.
  • the gray-scale release management system 30 in the embodiment of the present application can implement the steps in the method for managing gray-scale release executed in the embodiment corresponding to FIG. 1 above.
  • the functions implemented by the gray release management system 30 can be implemented by hardware, or implemented by hardware executing corresponding software.
  • the hardware or software includes one or more modules corresponding to the above functions, and the modules may be software and/or hardware.
  • the gray release management system 30 may include a gray release management platform 301, a release module 302, and a distribution engine 303.
  • the functions of the gray release management platform 301, the release module 302, and the distribution engine 303 are implemented Reference may be made to the operations performed in the embodiment corresponding to FIG. 1, which will not be repeated here.
  • the gray-scale release management platform 301 can be used to set the gray-scale distribution ratio, and synchronize the gray-scale distribution ratio to the version issuing module 302;
  • the version distribution module 302 can be used to calculate the target number of candidate grayscale servers for this grayscale release based on the grayscale distribution ratio and the current number of production servers when the version is issued; Select the target gray-scale server from the degree server, and the target gray-scale server is used for gray-scale publishing of a new version; after the target gray-scale server completes the release of the new version, the gray-scale that has been The Internet Protocol IP address of the server is synchronized to the offloading engine 303;
  • the distribution engine 303 can be used to group users of each version to obtain multiple user groups according to the gray distribution ratio synchronized by the release module and the IP address of the gray server that is responsible for this gray distribution task. Mark the category for each user group and confirm the server category corresponding to each user group;
  • the offloading engine 303 is also used to offload service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  • the gray-scale release management platform 301 synchronizes the set gray-scale distribution ratio to the version-issuing module 302; when the version is issued, the version-issuance module 302 calculates candidates based on the gray-level distribution ratio and the number of production servers The target number of grayscale servers, select the target grayscale server from the candidate grayscale servers, and after the new version is released, the release module 302 synchronizes the IP address of the grayscale server that has been released to the offload engine 303; offload engine 303 Divide the users of each version into multiple user groups and mark the categories according to the gray distribution ratio and the IP address of the gray server, confirm the server category corresponding to each user group, and divide the different versions according to the category of the user group to which the user belongs The business data stream is diverted to the corresponding user group.
  • the gray scale can be adjusted adaptively based on user feedback, and the current number of gray scale servers can be automatically counted and the gray scale calculated. Intelligent distribution is realized, and no human intervention is required to set up gray scale servers, thereby improving the gray scale release. Efficiently and timely switch user traffic, reducing the probability of manual diversion errors.
  • the release module 302 is specifically configured to:
  • the gray release strategy includes one of the following items:
  • the configuration information includes at least one of the following items:
  • the release process is automatically triggered and all users are switched to the new version.
  • the release module 302 is specifically configured to:
  • the gray-scale distribution ratio calculate The target quantity.
  • the grayscale release management platform 301 sets the grayscale split ratio, it is also used to:
  • the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
  • the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  • the gray release management platform 301 is specifically used for:
  • the initial gray scale is adjusted upward according to the first proportion
  • the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
  • the offloading engine 303 uses at least one of the following grouping strategies to group users of each version:
  • Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
  • grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
  • the shunt engine 303 is specifically used for:
  • the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
  • the above describes the gray release management system 30 in the embodiment of the present application from the perspective of modular functional entities.
  • the following describes a computer device from the perspective of hardware, as shown in FIG. 4, which includes: a processor, a memory, and a transceiver (It may also be an input and output unit, not identified in FIG. 4) and a computer program stored in the memory and running on the processor.
  • the computer program may be a program corresponding to the method for managing grayscale release in the embodiment corresponding to FIG. 1.
  • the processor executes the computer program to realize the execution by the gray-scale release management system 30 in the embodiment corresponding to FIG. 3 above.
  • the computer program may be a program corresponding to the method for managing grayscale release in the embodiment corresponding to FIG. 1.
  • the so-called processor can be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), ready-made Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc.
  • the processor is the control center of the computer equipment, and various interfaces and lines are used to connect various parts of the entire computer equipment.
  • the memory may be used to store the computer program and/or module, and the processor implements the computer by running or executing the computer program and/or module stored in the memory, and calling data stored in the memory.
  • the memory may mainly include a storage program area and a storage data area, where the storage program area may store an operating system, an application program required by at least one function (such as a sound playback function, an image playback function, etc.); the storage data area may store Data created based on the use of mobile phones (such as audio data, video data, etc.), etc.
  • the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disks, memory, plug-in hard disks, smart media cards (SMC), and secure digital (SD) cards , Flash Card, at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device.
  • non-volatile memory such as hard disks, memory, plug-in hard disks, smart media cards (SMC), and secure digital (SD) cards , Flash Card, at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device.
  • the transceiver can also be replaced by a receiver and a transmitter, and can be the same or different physical entities. When they are the same physical entity, they can be collectively referred to as transceivers.
  • the transceiver can be an input and output unit.
  • the memory may be integrated in the processor, or may be provided separately from the processor.
  • the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better. ⁇
  • the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium (such as ROM/RAM), including Several instructions are used to make a terminal (which may be a mobile phone, a computer, a server, or a network device, etc.) execute the method described in each embodiment of the present application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present application relates to the technical field of grayscale release, and provides a grayscale release management method, apparatus, device and system. The method comprises: a grayscale release management platform setting a grayscale distribution proportion, and synchronizing the grayscale distribution proportion to a version release module; when version release is carried out, the version release module calculating the target number of candidate grayscale servers according to the grayscale distribution proportion and the number of production servers; the version release module selecting a target grayscale server from among the candidate grayscale servers, and after a new version is published, the version release module synchronizing the IP address of the grayscale server that has carried out grayscale release to a distribution engine; and the distribution engine dividing users of each version into a plurality of user groups according to the grayscale distribution proportion and the IP addresses of the grayscale server and carrying out category marking, confirming the server category corresponding to each user group, and distributing service data streams of different versions to the corresponding user groups according to the categories of the user groups to which the users belong. By using the solution, intelligent distribution can be realized, and the failure probability of manual distribution can be reduced.

Description

管理灰度发布的方法、系统、设备及存储介质Method, system, equipment and storage medium for managing gray release
本申请要求于2019-03-12日提交中国专利局、申请号为201910182457.1、发明名称为“管理灰度发布的方法、系统、设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of a Chinese patent application filed with the Chinese Patent Office, the application number is 201910182457.1, and the invention title is "Methods, systems, equipment and storage media for managing gray release" on March 12, 2019. The reference is incorporated in this application.
技术领域Technical field
本申请涉及灰度发布技术领域,尤其涉及一种管理灰度发布的方法、系统、设备及存储介质。This application relates to the technical field of gray-scale publishing, and in particular, to a method, system, device, and storage medium for managing gray-scale publishing.
背景技术Background technique
灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。在其上可以进行A/B testing,即让一部分用户继续用产品特性A,一部分用户开始用产品特性B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现并调整问题,以保证产品影响度。Gray release refers to a release method that can smoothly transition between black and white. A/B testing can be performed on it, that is, some users continue to use product feature A, and some users start to use product feature B. If users have no objections to B, then gradually expand the scope and move all users to B. Come. Grayscale release can ensure the stability of the overall system, and problems can be found and adjusted during the initial grayscale to ensure product impact.
目前市场上灰度发布都是由管理员设置灰度服务器和生产服务器的数量,在确定灰度服务器的数量所能承载的用户规模后,进行灰度设置时,设置最大的灰度比例,比如设置2台灰度服务器,10台生产服务器,那么,进行灰度发布时,先发布到这2台灰度服务器,最多允许将20%用户流量切换到灰度环境中。Currently in the market for grayscale releases, the administrator sets the number of grayscale servers and production servers. After determining the user scale that the number of grayscale servers can carry, set the maximum grayscale ratio when performing the grayscale setting, such as Set up 2 gray-scale servers and 10 production servers. Then, when performing gray-scale publishing, first publish to these two gray-scale servers, allowing up to 20% of user traffic to be switched to the gray-scale environment.
但是,发明人发现,目前设置这种灰度比例时需要先明确灰度服务器的数量,才能进行灰度比例的计算,无法根据用户的反馈对灰度比例进行自适应调整,只能人工确定灰度服务器的数量然后计算灰度比例,效率低下且导致用户流量切换不及时;其次,灰度比例完全依赖管理人员计算,如果计算错误则会导致生产故障。However, the inventor found that when setting this gray scale ratio, it is necessary to clarify the number of gray scale servers before calculating the gray scale. The gray scale cannot be adjusted adaptively based on user feedback, and the gray scale can only be manually determined. The number of degree servers then calculates the gray scale, which is inefficient and leads to untimely user traffic switching; secondly, the gray scale is completely dependent on the calculation of the manager, and if the calculation is wrong, it will cause production failure.
发明内容Summary of the invention
本申请提供了一种管理灰度发布的方法、系统、设备及存储介质,能够解决现有技术中提出的技术缺陷。This application provides a method, system, device and storage medium for managing gray release, which can solve the technical defects proposed in the prior art.
第一方面,本申请提供一种管理灰度发布的方法,所述方法包括:In the first aspect, the present application provides a method for managing gray release, and the method includes:
灰度发布管理平台设置灰度分流比例,同步所述灰度分流比例至发版模块;The gray level release management platform sets the gray level diversion ratio, and synchronizes the gray level diversion ratio to the release module;
当进行发版时,所述发版模块根据所述灰度分流比例和当前生产服务器的 数量计算出用于本次灰度发布的候选灰度服务器的目标数量;When the version is issued, the version distribution module calculates the target number of candidate grayscale servers for this grayscale release according to the grayscale diversion ratio and the current number of production servers;
所述发版模块从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;The version distribution module selects a target grayscale server from the candidate grayscale servers, and the target grayscale server is used to perform a grayscale release of a new version;
在所述目标灰度服务器完成对所述新版本的发布后,所述发版模块将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎;After the target grayscale server completes the release of the new version, the version release module synchronizes the Internet Protocol IP address of the grayscale server that has been grayed out to the offload engine;
所述分流引擎根据所述灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;The offloading engine groups the users of each version according to the grayscale offload ratio and the IP address of the grayscale server undertaking this grayscale publishing task to obtain multiple user groups, and mark each user group as a category, And confirm the server category corresponding to each user group;
所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The distribution engine distributes service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
一种可能的设计中,所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量,包括:In a possible design, the version distribution module calculates the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers, including:
所述发版模块根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;The version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers;
其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
一种可能的设计中,所述发版模块根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量,包括:In a possible design, the version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers, including:
根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
一种可能的设计中,所述灰度发布管理平台设置灰度分流比例之前,所述方法还包括:In a possible design, before the grayscale release management platform sets the grayscale split ratio, the method further includes:
所述灰度发布管理平台获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;The gray release management platform obtains information fed back by users, and the information fed back by users includes information fed back by users using the new version of the application, normal service information or abnormal service information;
所述灰度发布管理平台设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;The gray-scale release management platform sets an initial gray-scale ratio and a gray-scale release strategy, and the gray-scale release strategy refers to a gray-scale release according to a preset period and a preset gray-scale ratio until all versions are released;
所述灰度发布管理平台设置灰度分流比例,包括:The grayscale distribution management platform setting the grayscale distribution ratio includes:
根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
一种可能的设计中,所述灰度发布管理平台根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例,包括:In a possible design, the gray-scale release management platform dynamically adjusts the gray-scale distribution ratio adapted to the current gray-scale release according to the information fed back by the user and the gray-scale release strategy, including:
若用户反馈的服务正常信息的比例在第一数值区间,则所述灰度发布管理平台按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the gray-scale release management platform increases the initial gray-scale proportion according to the first proportion;
若用户反馈的服务正常信息的比例在第二数值区间,则所述灰度发布管理平台按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the ratio of the normal service information fed back by the user is within the second numerical interval, the gray-scale release management platform will increase the initial gray-scale ratio according to the second ratio; the first ratio is smaller than the second ratio, and the first The upper bound of a numerical interval is smaller than the lower bound of the second numerical interval.
一种可能的设计中,所述将每个版本的用户进行分组时至少采用以下分组策略之一:In a possible design, at least one of the following grouping strategies is adopted when the users of each version are grouped:
所述分流引擎将相同版本的用户或版本低于新版本的用户分为一个用户组;The distribution engine divides users of the same version or users whose version is lower than the new version into a user group;
所述分流引擎根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;The offloading engine performs grouping according to at least one of the IP address, white list, user tag, service field, or service channel of the user terminal;
或者,所述分流引擎根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Alternatively, the offloading engine is grouped according to at least one of the brand, model, operating system, or network type of the user terminal.
一种可能的设计中,所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组,包括:In a possible design, the shunt engine shunts service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs, including:
所述分流引擎将旧版本的业务数据分流到未被灰度规则的用户组,将新版本的业务数据分流到被灰度规则的用户组;The offloading engine offloads the old version of the business data to the user group that is not grayed out rules, and offloads the new version of the business data to the user group that is grayed out rules;
如果用户是被灰度规则的用户,则被所述灰度规则的用户具备访问灰度服务器中的新版本的权限。If the user is a user who is a gray-scale rule, the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
第二方面,本申请提供一种灰度发布管理系统,具有实现对应于上述第一方面提供的管理灰度发布的方法的功能。所述功能可以通过硬件实现,也可以 通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。In the second aspect, the present application provides a gray-scale release management system, which has the function of implementing the method corresponding to the method for managing gray-scale release provided in the first aspect. The functions can be realized by hardware, or by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, and the modules may be software and/or hardware.
一种可能的设计中,所述灰度发布管理系统包括:In a possible design, the gray release management system includes:
灰度发布管理平台,用于设置灰度分流比例,同步所述灰度分流比例至发版模块;The gray-scale release management platform is used to set the gray-scale distribution ratio, and synchronize the gray-scale distribution ratio to the version distribution module;
所述发版模块,用于当进行发版时,根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;在所述目标灰度服务器完成对所述新版本的发布后,将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎;The version distribution module is used to calculate the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers when the version is issued; Select the target gray-scale server from the degree server, and the target gray-scale server is used for gray-scale publishing of a new version; after the target gray-scale server completes the release of the new version, the gray-scale that has been The Internet Protocol IP address of the server is synchronized to the offload engine;
所述分流引擎,用于根据所述发版模块同步的灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;The distribution engine is used to group users of each version to obtain multiple user groups according to the gray distribution ratio synchronized by the version distribution module and the IP address of the gray server that is responsible for this gray distribution task. Mark the category for each user group and confirm the server category corresponding to each user group;
所述分流引擎还用于按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The offloading engine is also used to offload service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
在一些可能的设计中,所述发版模块具体用于:In some possible designs, the release module is specifically used to:
根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;Calculating the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers;
其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
一种可能的设计中,所述发版模块具体用于:In a possible design, the release module is specifically used for:
根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
一种可能的设计中,所述灰度发布管理平台设置灰度分流比例之前,还用 于:In a possible design, before the grayscale release management platform sets the grayscale distribution ratio, it is also used to:
获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;Acquiring information fed back by the user, the information fed back by the user including the information fed back by the user using the new version of the application, service normal information or service abnormal information;
设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
一种可能的设计中,所述灰度发布管理平台具体用于:In a possible design, the gray release management platform is specifically used for:
若用户反馈的服务正常信息的比例在第一数值区间,则按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale is adjusted upward according to the first proportion;
若用户反馈的服务正常信息的比例在第二数值区间,则按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
一种可能的设计中,所述分流引擎至少采用以下分组策略之一将每个版本的用户进行分组:In a possible design, the offloading engine uses at least one of the following grouping strategies to group users of each version:
将相同版本的用户或版本低于新版本的用户分为一个用户组;Divide users of the same version or users whose version is lower than the new version into a user group;
根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
或者,根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Or, grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
一种可能的设计中,所述分流引擎具体用于:In a possible design, the shunt engine is specifically used for:
将旧版本的业务数据分流到未被灰度规则的用户组,将新版本的业务数据分流到被灰度规则的用户组;Distribute the business data of the old version to the user group that has not been grayed out rules, and divert the business data of the new version to the user group that is grayed out rules;
如果用户是被灰度规则的用户,则被所述灰度规则的用户具备访问灰度服务器中的新版本的权限。If the user is a user who is a gray-scale rule, the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
本申请又一方面提供了一种计算机设备,其包括至少一个连接的处理器、存储器、发射器和接收器,其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中的程序代码来执行以下操作;Another aspect of the present application provides a computer device, which includes at least one connected processor, a memory, a transmitter, and a receiver, wherein the memory is used to store program codes, and the processor is used to call The program code to perform the following operations;
设置灰度分流比例,同步所述灰度分流比例至发版模块;Set the gray-scale split ratio, and synchronize the gray-scale split ratio to the version issuing module;
当进行发版时,控制所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;在所述目标灰度服务器完成对所述新版本的发布后,将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎;When issuing a version, control the version-issuing module to calculate the target number of candidate gray-scale servers for this gray-scale release according to the gray-scale split ratio and the number of current production servers; from the candidate gray-scale servers Select the target gray-scale server in the gray-scale server, and the target gray-scale server is used for gray-scale release of a new version; after the target gray-scale server completes the release of the new version, the The Internet Protocol IP address is synchronized to the offload engine;
根据同步的灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;According to the synchronized gray distribution ratio and the IP address of the gray server responsible for the gray release task, the users of each version are grouped to obtain multiple user groups, and each user group is marked with a category, and each user group is confirmed The server category corresponding to the user group;
控制所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The distribution engine is controlled to distribute service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
一种可能的设计中,所述处理器具体用于执行以下操作:In a possible design, the processor is specifically configured to perform the following operations:
根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;Calculating the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers;
其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
一种可能的设计中,所述处理器具体用于执行以下操作:In a possible design, the processor is specifically configured to perform the following operations:
根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
一种可能的设计中,所述处理器在设置灰度分流比例之前,还用于执行以下操作:In a possible design, the processor is further used to perform the following operations before setting the gray-scale split ratio:
获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;Acquiring information fed back by the user, the information fed back by the user including the information fed back by the user using the new version of the application, service normal information or service abnormal information;
设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
一种可能的设计中,所述处理器具体用于:In a possible design, the processor is specifically used for:
若用户反馈的服务正常信息的比例在第一数值区间,则按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale is adjusted upward according to the first proportion;
若用户反馈的服务正常信息的比例在第二数值区间,则按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
一种可能的设计中,所述处理器至少采用以下分组策略之一将每个版本的用户进行分组:In a possible design, the processor uses at least one of the following grouping strategies to group users of each version:
将相同版本的用户或版本低于新版本的用户分为一个用户组;Divide users of the same version or users whose version is lower than the new version into a user group;
根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
或者,根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Or, grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
本申请又一方面提供了一种易失性计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行上述各方面所述的方法。Another aspect of the present application provides a volatile computer storage medium, which includes instructions, which when run on a computer, cause the computer to execute the methods described in the foregoing aspects.
相较于现有技术,本申请提供的方案中,灰度发布管理平台设置灰度分流比例,同步所述灰度分流比例至发版模块;当进行发版时,发版模块根据灰度分流比例和生产服务器的数量计算候选灰度服务器的目标数量;发版模块从候选灰度服务器中选择目标灰度服务器,发布新版本后,发版模块将已进行灰度发布的灰度服务器的IP地址同步给分流引擎;分流引擎根据灰度分流比例和灰度服务器的IP地址将每个版本的用户分为多个用户组并标记类别,确认每个用户组对应的服务器类别,按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。本申请能够能够根据用户的反馈对灰度比例进行自适应调整,自动统计当前灰度服务器的数量并计算灰度比例,提高灰度发布效率且及时的切换用户流量。Compared with the prior art, in the solution provided by the present application, the gray-scale release management platform sets the gray-scale distribution ratio, and synchronizes the gray-scale distribution ratio to the plate-issuing module; when the plate is issued, the plate-issuing module divides according to the gray level Calculate the target number of candidate grayscale servers based on the ratio and the number of production servers; the release module selects the target grayscale server from the candidate grayscale servers, and after the new version is released, the release module will publish the grayscale server's IP The address is synchronized to the offloading engine; the offloading engine divides the users of each version into multiple user groups according to the grayscale offload ratio and the IP address of the grayscale server and marks the category, confirms the server category corresponding to each user group, and according to the user belongs to The category of the user group, which divides the business data streams of different versions to the corresponding user group. The application can adaptively adjust the gray scale according to user feedback, automatically count the current number of gray servers and calculate the gray scale, improve the efficiency of gray release and switch user traffic in a timely manner.
附图说明Description of the drawings
图1为本申请实施例中灰度发布管理系统的一种拓扑示意图;FIG. 1 is a schematic diagram of a topology of a grayscale release management system in an embodiment of the application;
图2为本申请实施例中管理灰度发布的方法的一种流程示意图;2 is a schematic flowchart of a method for managing gray release in an embodiment of the application;
图3为本申请实施例灰度发布管理系统的一种结构示意图;FIG. 3 is a schematic diagram of a structure of a gray-scale release management system according to an embodiment of the application;
图4为本申请实施例中计算机设备的一种结构示意图。Fig. 4 is a schematic diagram of a structure of a computer device in an embodiment of the application.
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。The realization, functional characteristics, and advantages of the purpose of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings.
具体实施方式detailed description
应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或模块,本申请中所出现的模块的划分,仅仅是一种逻辑上的划分,实际应用中实现时可以有另外的划分方式,例如多个模块可以结合成或集成在另一个系统中,或一些特征可以忽略,或不执行。It should be understood that the specific embodiments described herein are only used to explain the application, and not used to limit the application. The terms "first", "second", etc. in the description and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific sequence or sequence. It should be understood that the data used in this way can be interchanged under appropriate circumstances so that the embodiments described herein can be implemented in an order other than the content illustrated or described herein. In addition, the terms "including" and "having" and any variations of them are intended to cover non-exclusive inclusions. For example, a process, method, system, product or device that includes a series of steps or modules is not necessarily limited to the clearly listed Those steps or modules may include other steps or modules that are not clearly listed or are inherent to these processes, methods, products, or equipment. The division of modules in this application is only a logical division In actual applications, there may be other divisions in implementation. For example, multiple modules may be combined or integrated in another system, or some features may be ignored or not implemented.
本申请提供一种管理灰度发布的方法、系统、设备及存储介质,可用于新产品的测试与发布,及早获得用户的意见反馈,完善产品功能,提升产品质量让用户参与产品测试,加强与用户互动,以降低产品升级所影响的用户范围。This application provides a method, system, equipment and storage medium for managing gray release, which can be used for the testing and release of new products, to obtain early user feedback, improve product functions, improve product quality, and allow users to participate in product testing, and strengthen and User interaction to reduce the range of users affected by product upgrades.
为解决上述技术问题,本申请主要提供以下技术方案:To solve the above technical problems, this application mainly provides the following technical solutions:
通过先设置灰度分流比例,然后将设置后的分流比例同步到发版模块,当进行发版时,发版模块读取设置的分流比例,然后结合现有生产服务器的数量计算出需要的灰度服务器,然后选定灰度服务器进行灰度发布新版本,新版本发布完成后,将进行了灰度发布的服务器主机同步给分流引擎,然后如果用户是被灰度规则的用户,则访问到灰度服务器,访问灰度服务器中的新版本。By first setting the grayscale distribution ratio, and then synchronize the set distribution ratio to the distribution module. When the distribution is performed, the distribution module reads the set distribution ratio, and then calculates the required grayscale based on the number of existing production servers. Degree server, and then select the gray server to release the new version in gray. After the new version is released, synchronize the host of the server with gray release to the offloading engine, and then if the user is a user who is subject to the gray rule, you can access Grayscale server, to access the new version in Grayscale server.
后续管理人员想继续修改分流比例,则采用同样的流程将新的灰度分流比 例同步到发版模块,发版模块按照比例重新计算需要灰度的服务器(如果分流比例相比原先有所减少,则会将原先已灰度的服务器进行回滚到生产服务器),然后结果再同步到分流引擎。Subsequent managers who want to continue to modify the shunt ratio use the same process to synchronize the new gray-scale shunt ratio to the release module, and the release module recalculates the servers that need grayscale according to the ratio (if the shunt ratio is reduced compared to the original, It will roll back the original gray-scale server to the production server), and then synchronize the result to the offloading engine.
如图1所示的一种灰度发布管理系统(也可称为灰度系统),所述灰度发布管理系统包括灰度发布管理平台、发版模块和分流引擎。其中,灰度发布管理平台可用于对指定服务器发版,并向发版模块返回发版进度和发版日志。发版模块可用于选择灰度发布策略(也可称为灰度发布规则)、显示无法发版原因、显示发版进度和显示灰度服务器的发版日志。分流引擎可用于将生产服务器的流量切换到灰度服务器,校验发版窗口是否任有流量、以及确定是否允许发版。A gray-scale release management system (also referred to as a gray-scale system) as shown in FIG. 1 includes a gray-scale release management platform, a release module, and a distribution engine. Among them, the gray release management platform can be used to release the version to the designated server, and return the release progress and release log to the release module. The release module can be used to select the gray release strategy (also called the gray release rule), display the reason for the failure to release, display the release progress, and display the release log of the gray server. The distribution engine can be used to switch the traffic of the production server to the gray server, verify whether there is any traffic in the release window, and determine whether the release is allowed.
本申请中,分流引擎可采用以下两种接入方式的引擎:一种是http接入方式,采用脚本语言(例如lua)开发,并基于网页代理服务器(例如Nginx)进行灰度;另一种是dubbo接入方式,采用java开发,选用灰度的负载均衡实现灰度。本申请不对分流引擎的接入方式作限定。本申请中的发布管理平台、发版模块和分流引擎可集中部署,也可以分离部署,本申请不对灰度发布管理系统的部署作限定。In this application, the shunt engine can use the following two access methods: one is http access, which is developed using a scripting language (such as lua), and is based on a web proxy server (such as Nginx) for grayscale; the other It is a dubbo access method, developed by java, and uses gray-scale load balancing to achieve gray-scale. This application does not limit the access mode of the offload engine. The release management platform, release module, and distribution engine in this application can be deployed centrally or separately. This application does not limit the deployment of the gray release management system.
参照图2,以下介绍本申请中的一种管理灰度发布的方法,所述方法包括:Referring to Fig. 2, the following describes a method for managing gray release in this application, and the method includes:
201、灰度发布管理平台设置灰度分流比例,同步所述灰度分流比例至发版模块。201. The gray-scale release management platform sets a gray-scale split ratio, and synchronizes the gray-scale split ratio to a version issuing module.
其中,灰度分流比例由灰度发布管理后台计算得到,灰度发布管理后台可以是独立部署的服务器。Among them, the gray-scale distribution ratio is calculated by the gray-scale release management background, which can be an independently deployed server.
一些实施方式中,灰度分流比例一般由应用发版人员设置,例如根据当前应用版本情况设置不同灰度分流比例,并结合当前的生产服务器数量等信息约束灰度分流比例。In some embodiments, the gray-scale distribution ratio is generally set by the application publisher, for example, different gray-scale distribution ratios are set according to the current application version, and the gray-scale distribution ratio is restricted in combination with information such as the current number of production servers.
本申请中,发版模块是指运维人员发版的工具,能自动将程序包部署到服务器中,发版模块会接收灰度平台的指令,根据灰度平台设置的分流比例,计算出需要发版到几台生产服务器,发版完成后会将结果同步到灰度管理平台。In this application, the release module refers to the release tool of the operation and maintenance personnel, which can automatically deploy the program package to the server. The release module will receive instructions from the grayscale platform, and calculate the need according to the shunt ratio set by the grayscale platform Distribute the version to several production servers, and after the completion of the version, the results will be synchronized to the gray management platform.
一些实施方式中,所述灰度发布管理平台设置灰度分流比例之前,所述方法还包括:In some implementation manners, before the grayscale release management platform sets the grayscale split ratio, the method further includes:
1、获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的 用户反馈的信息、服务正常信息或服务异常信息;其中,用户反馈的信息包括使用新版本的应用的用户反馈的信息。用户反馈的信息是由灰度管理平台收集并管理。1. Obtain user feedback information. The user feedback information includes user feedback information using the new version of the application, service normal information or service abnormal information; wherein the user feedback information includes user feedback using the new version of the application information. User feedback information is collected and managed by the gray management platform.
2、设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布。2. Set the initial gray scale and gray scale release strategy. The gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released.
设置灰度发布策略时,可按照每小时10%进行灰度,然后10小时后所有版本自动发布完成。When setting the grayscale release strategy, you can perform grayscale at 10% per hour, and then all versions will be automatically released after 10 hours.
相应的,在所述灰度发布管理平台设置灰度分流比例时,可根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。Correspondingly, when the gray distribution management platform sets the gray distribution ratio, the gray distribution ratio suitable for the current gray distribution can be dynamically adjusted according to the information fed back by the user and the gray distribution strategy.
一些实施方式中,所述根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例,包括:In some implementation manners, the dynamically adjusting the gray-scale distribution ratio adapted to the current gray-scale publishing according to the information fed back by the user and the gray-scale publishing strategy includes:
若用户反馈的服务正常信息的比例在第一数值区间,按照第一比例上调所述初始灰度比例;例如,反馈的服务正常信息是正常的比例在60%-80%时,将所述初始灰度比例上调2个点。If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale will be increased according to the first proportion; for example, when the normal proportion of the normal service information fed back is 60%-80%, the initial Increase the gray scale by 2 points.
若用户反馈的服务正常信息的比例在第二数值区间,按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。例如,反馈的服务正常信息是正常的比例在80%-100%时,将所述初始灰度比例上调10个点。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is increased according to the second proportion; the first proportion is less than the second proportion, and the upper bound of the first numerical interval is less than The lower bound value of the second numerical interval. For example, when the normal ratio of the service normal information fed back is 80%-100%, the initial gray scale ratio is increased by 10 points.
可见,当用户反馈的信息中包括服务正常信息或服务异常信息时,通过预设的上调或下调方式决策所述初始灰度比例的程度,能够实现部分或全部切换用户流量的平滑度,实现无缝切换和逐步发布,让用户无感知。It can be seen that when the information fed back by the user includes normal service information or abnormal service information, the degree of the initial gray scale is determined by a preset up- or down-adjustment method, which can achieve the smoothness of partial or full switching of user traffic, and achieve no Seamless switching and gradual release, leaving users unaware.
202、当进行发版时,所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量。202. When a version is issued, the version distribution module calculates the target number of candidate grayscale servers for this grayscale release according to the grayscale distribution ratio and the current number of production servers.
一些实施方式中,所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量,包括:In some embodiments, the version distribution module calculates the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers, including:
所述发版模块根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;The version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers;
其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
1、从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息,例如默认分批灰度发版的指示信息分别是30%、30%和40%。1. Select the target grayscale server from the candidate grayscale servers to carry out the instruction information for batch grayscale release. For example, the default instructions for batch grayscale release are 30%, 30%, and 40% respectively.
2、各灰度发版的间隔时长和发版异常时的应对措施的配置信息。2. The interval length of each gray-scale release and the configuration information of countermeasures when the release is abnormal.
一些实施方式中,所述配置信息至少包括以下项之一:In some implementation manners, the configuration information includes at least one of the following items:
(1)若发版异常时,则执行切换分流策略,所述分流策略包括用户规模、发布频率、功能覆盖度、回滚策略、运营策略和新旧系统部署策略。(1) If the release of the version is abnormal, execute the switching and diversion strategy, the diversion strategy includes user scale, release frequency, function coverage, rollback strategy, operation strategy, and new and old system deployment strategy.
(2)若发版过程中出现异常,则暂停或回滚到原始版本。例如,当前生产服务器中部署的是4.1版本,若将该声场服务器选中作为目标灰度服务器部署4.2版本后,若在发版过程中出现中断,则回滚到4.1版本。(2) If an exception occurs during the release process, the suspension or rollback to the original version. For example, the current production server deploys version 4.1. If the sound field server is selected as the target gray server to deploy version 4.2, if there is an interruption in the release process, it will roll back to version 4.1.
(3)若验证通过,则自动触发发版流程并将所有用户切换到新版本。(3) If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
另一些实施方式中,发版模块计算候选灰度服务器的目标数量时,除了引入生产服务器数量和灰度分流比例之外,还可以引入当前用户的访问量、使用本生产服务的用户总数、使用旧版本、新版本的用户量等维度的信息等维度的信息,这样提高准确率,合理的分配服务器的资源。具体来说,所述发版模块还可根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。In other implementations, when the release module calculates the target number of candidate grayscale servers, in addition to introducing the number of production servers and the grayscale distribution ratio, it can also introduce the current user's visits, the total number of users using the production service, and Dimensional information such as the number of users of the old version and the new version, and other dimensional information, so as to improve accuracy and allocate server resources reasonably. Specifically, the version release module may also be based on the gray-scale release strategy, the gray-scale split ratio, the number of current production servers, the current user’s access volume, the total number of users using this production service, and the number of users using the old version. The number of users, the number of users of the new version, and the target number are calculated.
203、所述发版模块从所述候选灰度服务器中选择目标灰度服务器。203. The version issuing module selects a target grayscale server from the candidate grayscale servers.
其中,所述目标灰度服务器用于进行灰度发布新版本。Wherein, the target grayscale server is used to perform grayscale release of a new version.
一些实施方式中,选择目标灰度服务器时,可基于负载均衡策略从所述候选灰度服务器中选择负载较轻或者硬件能力强的作为目标灰度服务器。In some embodiments, when selecting a target grayscale server, a candidate grayscale server with lighter load or strong hardware capability may be selected as the target grayscale server from the candidate grayscale servers based on a load balancing strategy.
204、在所述目标灰度服务器完成对所述新版本的发布后,所述发版模块将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎。204. After the target grayscale server completes the release of the new version, the version distribution module synchronizes the Internet Protocol IP address of the grayscale server that has been grayed out to the offloading engine.
一些实施方式中,在发布新版本时,可采用Nginx配置文件+LUA脚本实现灰度发布、根据Cookie实现灰度发布、或者根据源IP地址实现灰度发布。以Cookie方式为例,根据Cookie查询Cookie键为version的值;如果该Cookie值为V1,则将用户流量分流到hi-linux_01所对应的服务器;如果该Cookie值为V2,则将用户流量分流到hi-linux_02所对应的服务器;如果Cookie值都不匹配,则默认将用户流量分流至hi-linux_01所对应的服务器。In some implementations, when a new version is released, Nginx configuration files + LUA scripts may be used to achieve gray-scale publishing, to achieve gray-scale publishing based on cookies, or to achieve gray-scale publishing based on source IP addresses. Taking the cookie method as an example, the cookie key is queried according to the value of the version of the cookie; if the cookie value is V1, the user traffic is diverted to the server corresponding to hi-linux_01; if the cookie value is V2, the user traffic is diverted to The server corresponding to hi-linux_02; if the cookie values do not match, the user traffic will be diverted to the server corresponding to hi-linux_01 by default.
205、所述分流引擎根据所述灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别。205. The distribution engine groups users of each version according to the gray distribution ratio and the IP address of the gray server that is responsible for the gray distribution task to obtain multiple user groups, and mark each user group Category, and confirm the server category corresponding to each user group.
一些实施方式中,所述将每个版本的用户进行分组时至少采用以下分组策略之一:In some implementation manners, at least one of the following grouping strategies is adopted when the users of each version are grouped:
所述分流引擎将相同版本的用户或版本低于新版本的用户分为一个用户组;例如,游戏公司更新了游戏版本,当前新版本为4.2版本,目前市面上使用该游戏公司的用户层次不一,有的由于终端的硬件受限,有的用户主观上不愿意更新,所以市面上这款游戏依旧流通的版本有3.0、3.2、4.0和4.1,3.0、3.2、4.0和4.1均低于当前待发布的4.2版本。由于每个生产服务器仅提供一种游戏版本的服务,那么,为了便于分组发布和分组管理,就需要先将使用3.0版本、3.2版本、4.0版本和4.1版本的用户分别划分到一个独立的用户组。The shunt engine divides users of the same version or users whose version is lower than the new version into a user group; for example, a game company has updated the game version, and the current new version is version 4.2. The current user level of the game company on the market is different. 1. Some users are subjectively unwilling to update due to the limited hardware of the terminal. Therefore, the versions of this game still circulating on the market are 3.0, 3.2, 4.0 and 4.1, and 3.0, 3.2, 4.0 and 4.1 are all lower than the current ones. Version 4.2 to be released. Since each production server only provides one game version service, in order to facilitate group release and group management, users who use version 3.0, version 3.2, version 4.0 and version 4.1 need to be divided into an independent user group. .
所述分流引擎根据用户终端的IP地址、白名单、用户标签、业务字段、用户常用功能或服务渠道中的至少一项进行分组;其中,白名单是指被灰度规则的用户组成的白名单。用户标签是指为使用不同版本的用户标注的标签。业务字段包括语音业务、视频业务、短信业务、金融业务或政府业务等。服务渠道是指提供业务服务的渠道,例如证券服务或银行服务。The offloading engine performs grouping according to at least one of the IP address of the user terminal, white list, user tag, business field, user common function or service channel; wherein, the white list refers to a white list composed of users with gray rules . User tags refer to tags labeled for users who use different versions. Business fields include voice services, video services, short message services, financial services, or government services. Service channels refer to the channels through which business services are provided, such as securities services or banking services.
或者,所述分流引擎根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。所述操作系统包括安卓系统、Windows系统、IOS系统和Linux系统等操作系统,本申请不对操作系统作限定。所述网络类型包括中国移动、中国电信和中国联通等网络制式的网络类型,本申请不对网络类型和运营商作限定。例如,以小米手机为例,根据手机型号进行分组时,即将使用MIX2S的用户和使用6X的用户分别分到不同的用户组;根据网络类型进行分组,即分别将使用GSM、CDMA、3G、4G和5G等网络制式的用户划分到不同的用户组。Alternatively, the offloading engine is grouped according to at least one of the brand, model, operating system, or network type of the user terminal. The operating systems include Android system, Windows system, IOS system, Linux system and other operating systems, and this application does not limit the operating system. The network types include network types of network standards such as China Mobile, China Telecom, and China Unicom, and this application does not limit network types and operators. For example, taking Xiaomi mobile phones as an example, when grouping according to mobile phone models, users who use MIX2S and users who use 6X will be divided into different user groups; grouping according to network type, that is, GSM, CDMA, 3G, 4G will be used respectively Users of network standards such as 5G are divided into different user groups.
206、所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。206. The shunt engine shunts service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
一些实施方式中,所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组,包括:In some implementation manners, the offloading engine offloads service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs, including:
将旧版本的业务数据分流到未被灰度规则的用户组,将新版本的业务数据分流到被灰度规则的用户组。如果用户是被灰度规则的用户,则被所述灰度规则的用户具备访问灰度服务器中的新版本的权限。被灰度规则的用户也可称为 在灰度名单中的用户,在灰度名单中的用户享受新版本的服务,本申请不对此作限定。Distribute the old version of the business data to the user group that has not been grayed out, and divert the new version of the business data to the user group that is grayed out. If the user is a user who is a gray-scale rule, the user who is a gray-scale rule has the right to access the new version in the gray-scale server. Users who are under the gray-scale rule can also be referred to as users in the gray-scale list. The users in the gray-scale list enjoy the new version of the service, which is not limited in this application.
与现有机制相比,一方面中,本申请能够根据用户的反馈对灰度比例进行自适应调整,自动统计当前灰度服务器的数量并计算灰度比例,实现智能分流,不需要人为干预设置灰度服务器,进而提高灰度发布效率且及时的切换用户流量。由于灰度比例是自适应调整且引入用户反馈的信息,所以能够提高计算灰度比例的准确度,避免因灰度比例计算错误而导致生产故障的问题,进而减少灰度分流人员失误造成的事故。Compared with existing mechanisms, on the one hand, this application can adaptively adjust the gray scale according to user feedback, automatically count the current number of gray servers and calculate the gray scale, and realize intelligent shunting without human intervention. Gray-scale server, thereby improving the efficiency of gray-scale publishing and switching user traffic in a timely manner. Since the gray scale is adaptively adjusted and user feedback is introduced, it can improve the accuracy of calculating the gray scale, avoid the problem of production failure due to the calculation of the gray scale, and reduce the accident caused by the error of the gray scale diversion personnel .
另一方面中,本申请的灰度发布是直接在原有的生产服务器上进行灰发布度,不需要额外搭建新的灰度服务器,所以调整完分流比例后,则在原生产服务器上按照比例分流比例和生产服务器数量选择对应的多台生产服务器进行灰度发布。On the other hand, the grayscale release of this application is to directly perform the grayscale release on the original production server, and there is no need to build a new grayscale server. Therefore, after adjusting the distribution ratio, the distribution ratio will be distributed on the original production server. Select multiple production servers corresponding to the number of production servers for grayscale release.
上述图1、图2各自对应的实施例或实施方式中所提及的各项技术特征也同样适用于本申请中的图3和图4所对应的实施例,后续类似之处不再赘述。The technical features mentioned in the respective embodiments or implementations corresponding to FIGS. 1 and 2 described above are also applicable to the embodiments corresponding to FIGS. 3 and 4 in this application, and similarities are not repeated here.
以上对本申请中一种管理灰度发布的方法进行说明,以下对执行上述管理灰度发布的方法的系统进行描述。The foregoing describes a method for managing gray release in this application, and the following describes a system for executing the foregoing method for managing gray release.
如图3所示的一种灰度发布管理系统30的结构示意图,其可应用于新产品的测试与发布。本申请实施例中的灰度发布管理系统30能够实现对应于上述图1所对应的实施例中所执行的管理灰度发布的方法中的步骤。灰度发布管理系统30实现的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块,所述模块可以是软件和/或硬件。所述灰度发布管理系统30可包括灰度发布管理平台301、发版模块302和分流引擎303,所述灰度发布管理平台301、所述发版模块302和所述分流引擎303的功能实现可参考图1所对应的实施例中所执行的操作,此处不作赘述。As shown in FIG. 3, a schematic structural diagram of a gray release management system 30, which can be applied to the testing and release of new products. The gray-scale release management system 30 in the embodiment of the present application can implement the steps in the method for managing gray-scale release executed in the embodiment corresponding to FIG. 1 above. The functions implemented by the gray release management system 30 can be implemented by hardware, or implemented by hardware executing corresponding software. The hardware or software includes one or more modules corresponding to the above functions, and the modules may be software and/or hardware. The gray release management system 30 may include a gray release management platform 301, a release module 302, and a distribution engine 303. The functions of the gray release management platform 301, the release module 302, and the distribution engine 303 are implemented Reference may be made to the operations performed in the embodiment corresponding to FIG. 1, which will not be repeated here.
一些实施方式中,所述灰度发布管理平台301可用于设置灰度分流比例,同步所述灰度分流比例至发版模块302;In some embodiments, the gray-scale release management platform 301 can be used to set the gray-scale distribution ratio, and synchronize the gray-scale distribution ratio to the version issuing module 302;
所述发版模块302可用于当进行发版时,根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;从所 述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;在所述目标灰度服务器完成对所述新版本的发布后,将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎303;The version distribution module 302 can be used to calculate the target number of candidate grayscale servers for this grayscale release based on the grayscale distribution ratio and the current number of production servers when the version is issued; Select the target gray-scale server from the degree server, and the target gray-scale server is used for gray-scale publishing of a new version; after the target gray-scale server completes the release of the new version, the gray-scale that has been The Internet Protocol IP address of the server is synchronized to the offloading engine 303;
所述分流引擎303可用于根据所述发版模块同步的灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;The distribution engine 303 can be used to group users of each version to obtain multiple user groups according to the gray distribution ratio synchronized by the release module and the IP address of the gray server that is responsible for this gray distribution task. Mark the category for each user group and confirm the server category corresponding to each user group;
所述分流引擎303还用于按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The offloading engine 303 is also used to offload service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
本申请实施例中,所述灰度发布管理平台301将设置的灰度分流比例同步至发版模块302;当进行发版时,发版模块302根据灰度分流比例和生产服务器的数量计算候选灰度服务器的目标数量,从候选灰度服务器中选择目标灰度服务器,发布新版本后,发版模块302将已进行灰度发布的灰度服务器的IP地址同步给分流引擎303;分流引擎303根据灰度分流比例和灰度服务器的IP地址将每个版本的用户分为多个用户组并标记类别,确认每个用户组对应的服务器类别,按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。采用本方案,能够根据用户的反馈对灰度比例进行自适应调整,自动统计当前灰度服务器的数量并计算灰度比例,实现智能分流,不需要人为干预设置灰度服务器,进而提高灰度发布效率且及时的切换用户流量,减少人工分流的失误概率。In the embodiment of the present application, the gray-scale release management platform 301 synchronizes the set gray-scale distribution ratio to the version-issuing module 302; when the version is issued, the version-issuance module 302 calculates candidates based on the gray-level distribution ratio and the number of production servers The target number of grayscale servers, select the target grayscale server from the candidate grayscale servers, and after the new version is released, the release module 302 synchronizes the IP address of the grayscale server that has been released to the offload engine 303; offload engine 303 Divide the users of each version into multiple user groups and mark the categories according to the gray distribution ratio and the IP address of the gray server, confirm the server category corresponding to each user group, and divide the different versions according to the category of the user group to which the user belongs The business data stream is diverted to the corresponding user group. With this solution, the gray scale can be adjusted adaptively based on user feedback, and the current number of gray scale servers can be automatically counted and the gray scale calculated. Intelligent distribution is realized, and no human intervention is required to set up gray scale servers, thereby improving the gray scale release. Efficiently and timely switch user traffic, reducing the probability of manual diversion errors.
一些实施方式中,所述发版模块302具体用于:In some implementation manners, the release module 302 is specifically configured to:
根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;Calculating the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers;
其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
一些实施方式中,所述发版模块302具体用于:In some implementation manners, the release module 302 is specifically configured to:
根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
一些实施方式中,所述灰度发布管理平台301设置灰度分流比例之前,还用于:In some implementation manners, before the grayscale release management platform 301 sets the grayscale split ratio, it is also used to:
获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;Acquiring information fed back by the user, the information fed back by the user including the information fed back by the user using the new version of the application, service normal information or service abnormal information;
设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
一些实施方式中,所述灰度发布管理平台301具体用于:In some embodiments, the gray release management platform 301 is specifically used for:
若用户反馈的服务正常信息的比例在第一数值区间,则按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale is adjusted upward according to the first proportion;
若用户反馈的服务正常信息的比例在第二数值区间,则按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
一些实施方式中,所述分流引擎303至少采用以下分组策略之一将每个版本的用户进行分组:In some implementation manners, the offloading engine 303 uses at least one of the following grouping strategies to group users of each version:
将相同版本的用户或版本低于新版本的用户分为一个用户组;Divide users of the same version or users whose version is lower than the new version into a user group;
根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
或者,根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Or, grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
一些实施方式中,所述分流引擎303具体用于:In some implementation manners, the shunt engine 303 is specifically used for:
将旧版本的业务数据分流到未被灰度规则的用户组,将新版本的业务数据分流到被灰度规则的用户组;Distribute the business data of the old version to the user group that has not been grayed out rules, and divert the business data of the new version to the user group that is grayed out rules;
如果用户是被灰度规则的用户,则被所述灰度规则的用户具备访问灰度服务器中的新版本的权限。If the user is a user who is a gray-scale rule, the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
上面从模块化功能实体的角度分别介绍了本申请实施例中的灰度发布管理系统30,以下从硬件角度介绍一种计算机设备,如图4所示,其包括:处理器、存储器、收发器(也可以是输入输出单元,图4中未标识出)以及存储在所述存储器中并可在所述处理器上运行的计算机程序。例如,该计算机程序可以为图1所对应的实施例中管理灰度发布的方法对应的程序。例如,当计算机设备实现如图3所示的灰度发布管理系统30的功能时,所述处理器执行所述计算机程序时实现上述图3所对应的实施例中由灰度发布管理系统30执行的管理灰度发布的方法中的各步骤;或者,所述处理器执行所述计算机程序时实现上述图3所对应的实施例的灰度发布管理系统30中各模块的功能。又例如,该计算机程序可以为图1所对应的实施例中管理灰度发布的方法所对应的程序。The above describes the gray release management system 30 in the embodiment of the present application from the perspective of modular functional entities. The following describes a computer device from the perspective of hardware, as shown in FIG. 4, which includes: a processor, a memory, and a transceiver (It may also be an input and output unit, not identified in FIG. 4) and a computer program stored in the memory and running on the processor. For example, the computer program may be a program corresponding to the method for managing grayscale release in the embodiment corresponding to FIG. 1. For example, when a computer device implements the functions of the gray-scale release management system 30 as shown in FIG. 3, the processor executes the computer program to realize the execution by the gray-scale release management system 30 in the embodiment corresponding to FIG. 3 above. Each step in the method for managing gray release; or, when the processor executes the computer program, the function of each module in the gray release management system 30 of the embodiment corresponding to FIG. 3 is realized. For another example, the computer program may be a program corresponding to the method for managing grayscale release in the embodiment corresponding to FIG. 1.
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述计算机设备的控制中心,利用各种接口和线路连接整个计算机设备的各个部分。The so-called processor can be a central processing unit (Central Processing Unit, CPU), other general-purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), ready-made Field-Programmable Gate Array (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. The general-purpose processor may be a microprocessor or the processor may also be any conventional processor, etc. The processor is the control center of the computer equipment, and various interfaces and lines are used to connect various parts of the entire computer equipment.
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、视频数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。The memory may be used to store the computer program and/or module, and the processor implements the computer by running or executing the computer program and/or module stored in the memory, and calling data stored in the memory. Various functions of the device. The memory may mainly include a storage program area and a storage data area, where the storage program area may store an operating system, an application program required by at least one function (such as a sound playback function, an image playback function, etc.); the storage data area may store Data created based on the use of mobile phones (such as audio data, video data, etc.), etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disks, memory, plug-in hard disks, smart media cards (SMC), and secure digital (SD) cards , Flash Card, at least one magnetic disk storage device, flash memory device, or other volatile solid-state storage device.
所述收发器也可以用接收器和发送器代替,可以为相同或者不同的物理实 体。为相同的物理实体时,可以统称为收发器。该收发器可以为输入输出单元。The transceiver can also be replaced by a receiver and a transmitter, and can be the same or different physical entities. When they are the same physical entity, they can be collectively referred to as transceivers. The transceiver can be an input and output unit.
所述存储器可以集成在所述处理器中,也可以与所述处理器分开设置。The memory may be integrated in the processor, or may be provided separately from the processor.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器或者网络设备等)执行本申请各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method of the above embodiments can be implemented by means of software plus the necessary general hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is better.的实施方式。 Based on this understanding, the technical solution of this application essentially or the part that contributes to the existing technology can be embodied in the form of a software product. The computer software product is stored in a storage medium (such as ROM/RAM), including Several instructions are used to make a terminal (which may be a mobile phone, a computer, a server, or a network device, etc.) execute the method described in each embodiment of the present application.
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,这些均属于本申请的保护之内。The embodiments of the present application are described above with reference to the accompanying drawings, but the present application is not limited to the above-mentioned specific embodiments. The above-mentioned specific embodiments are only illustrative and not restrictive. Those of ordinary skill in the art are Under the enlightenment of this application, without departing from the purpose of this application and the scope of protection of the claims, many forms can be made, any equivalent structure or equivalent process transformation made by using the content of the description and drawings of this application, or Directly or indirectly used in other related technical fields, these are all protected by this application.

Claims (20)

  1. 一种管理灰度发布的方法,所述方法包括:A method for managing gray release, the method comprising:
    灰度发布管理平台设置灰度分流比例,同步所述灰度分流比例至发版模块;The gray level release management platform sets the gray level diversion ratio, and synchronizes the gray level diversion ratio to the release module;
    当进行发版时,所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;When the version is issued, the version distribution module calculates the target number of candidate grayscale servers for this grayscale release according to the grayscale split ratio and the current number of production servers;
    所述发版模块从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;The version distribution module selects a target grayscale server from the candidate grayscale servers, and the target grayscale server is used to perform a grayscale release of a new version;
    在所述目标灰度服务器完成对所述新版本的发布后,所述发版模块将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎;After the target grayscale server completes the release of the new version, the version release module synchronizes the Internet Protocol IP address of the grayscale server that has been grayed out to the offload engine;
    所述分流引擎根据所述灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;The offloading engine groups the users of each version according to the grayscale offload ratio and the IP address of the grayscale server undertaking this grayscale publishing task to obtain multiple user groups, and mark each user group as a category, And confirm the server category corresponding to each user group;
    所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The distribution engine distributes service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  2. 根据权利要求1所述的方法,所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量,包括:The method according to claim 1, wherein the version distribution module calculates the target number of candidate grayscale servers for this grayscale release based on the grayscale diversion ratio and the current number of production servers, including:
    所述发版模块根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;The version distribution module calculates the target number according to the gray-scale publishing strategy, the gray-scale distribution ratio and the current number of production servers;
    其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
    从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
    或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
    若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
    若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
    若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
  3. 根据权利要求2所述的方法,所述发版模块根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量,包括:The method according to claim 2, wherein the version distribution module calculates the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers, including:
    根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当 前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
  4. 根据权利要求2或3所述的方法,所述灰度发布管理平台设置灰度分流比例之前,所述方法还包括:The method according to claim 2 or 3, before the gray-scale release management platform sets the gray-scale split ratio, the method further comprises:
    所述灰度发布管理平台获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;The gray release management platform obtains information fed back by users, and the information fed back by users includes information fed back by users using the new version of the application, normal service information or abnormal service information;
    设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
    所述灰度发布管理平台设置灰度分流比例,包括:The grayscale distribution management platform setting the grayscale distribution ratio includes:
    所述灰度发布管理平台根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。The gray-scale release management platform dynamically adjusts the gray-scale distribution ratio adapted to the current gray-scale release according to the information fed back by the user and the gray-scale release strategy.
  5. 根据权利要求4所述的方法,所述灰度发布管理平台根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例,包括:The method according to claim 4, wherein the grayscale release management platform dynamically adjusts the grayscale distribution ratio adapted to the current grayscale release according to the information fed back by the user and the grayscale release strategy, including:
    若用户反馈的服务正常信息的比例在第一数值区间,则所述灰度发布管理平台按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the gray-scale release management platform increases the initial gray-scale proportion according to the first proportion;
    若用户反馈的服务正常信息的比例在第二数值区间,则所述灰度发布管理平台按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the ratio of the normal service information fed back by the user is within the second numerical interval, the gray-scale release management platform will increase the initial gray-scale ratio according to the second ratio; the first ratio is smaller than the second ratio, and the first The upper bound of a numerical interval is smaller than the lower bound of the second numerical interval.
  6. 根据权利要求5所述的方法,所述将每个版本的用户进行分组时至少采用以下分组策略之一:The method according to claim 5, wherein at least one of the following grouping strategies is adopted when the users of each version are grouped:
    所述分流引擎将相同版本的用户或版本低于新版本的用户分为一个用户组;The distribution engine divides users of the same version or users whose version is lower than the new version into a user group;
    所述分流引擎根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;The offloading engine performs grouping according to at least one of the IP address, white list, user tag, service field, or service channel of the user terminal;
    或者,所述分流引擎根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Alternatively, the offloading engine is grouped according to at least one of the brand, model, operating system, or network type of the user terminal.
  7. 根据权利要求6所述的方法,所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组,包括:According to the method of claim 6, the offloading engine offloads service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs, including:
    所述分流引擎将旧版本的业务数据分流到未被灰度规则的用户组,将新版 本的业务数据分流到被灰度规则的用户组;The offloading engine offloads the old version of the business data to the user group that is not under the grayscale rule, and offloads the new version of the business data to the user group that is the grayscale rule;
    如果用户是被灰度规则的用户,则被所述灰度规则的用户具备访问灰度服务器中的新版本的权限。If the user is a user who is a gray-scale rule, the user who is a gray-scale rule has the right to access the new version in the gray-scale server.
  8. 一种灰度发布管理系统,所述系统包括:A gray-scale release management system, the system includes:
    灰度发布管理平台,用于设置灰度分流比例,同步所述灰度分流比例至发版模块;The gray-scale release management platform is used to set the gray-scale distribution ratio, and synchronize the gray-scale distribution ratio to the version distribution module;
    所述发版模块,用于当进行发版时,根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;在所述目标灰度服务器完成对所述新版本的发布后,将已进行灰度发布的灰度服务器的网际协议IP地址同步给分流引擎;The version distribution module is used to calculate the target number of candidate grayscale servers for this grayscale release based on the grayscale split ratio and the current number of production servers when the version is issued; Select the target gray-scale server from the degree server, and the target gray-scale server is used for gray-scale publishing of a new version; after the target gray-scale server completes the release of the new version, the gray-scale that has been The Internet Protocol IP address of the server is synchronized to the offload engine;
    所述分流引擎,用于根据所述发版模块同步的灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;The distribution engine is used to group users of each version to obtain multiple user groups according to the gray distribution ratio synchronized by the version distribution module and the IP address of the gray server that is responsible for this gray distribution task. Mark the category for each user group and confirm the server category corresponding to each user group;
    所述分流引擎还用于按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The offloading engine is also used to offload service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  9. 根据权利要求8所述的方法,所述发版模块具体用于:According to the method of claim 8, the release module is specifically configured to:
    根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;Calculating the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers;
    其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
    从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
    或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
    若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
    若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
    若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
  10. 根据权利要求9所述的方法,所述发版模块具体用于:According to the method of claim 9, the release module is specifically configured to:
    根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
  11. 根据权利要求9或10所述的方法,所述灰度发布管理平台设置灰度分流比例之前,还用于:According to the method of claim 9 or 10, before the gray-scale release management platform sets the gray-scale distribution ratio, it is further used for:
    获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;Acquiring information fed back by the user, the information fed back by the user including the information fed back by the user using the new version of the application, service normal information or service abnormal information;
    设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
    根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  12. 根据权利要求11所述的方法,所述灰度发布管理平台具体用于:According to the method of claim 11, the gray release management platform is specifically configured to:
    若用户反馈的服务正常信息的比例在第一数值区间,则按照第一比例上调所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale is adjusted upward according to the first proportion;
    若用户反馈的服务正常信息的比例在第二数值区间,则按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
  13. 根据权利要求12所述的方法,所述分流引擎至少采用以下分组策略之一将每个版本的用户进行分组:According to the method of claim 12, the distribution engine uses at least one of the following grouping strategies to group users of each version:
    将相同版本的用户或版本低于新版本的用户分为一个用户组;Divide users of the same version or users whose version is lower than the new version into a user group;
    根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
    或者,根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Or, grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
  14. 一种计算机设备,所述计算机设备包括:A computer device, the computer device includes:
    至少一个处理器、存储器和收发器;At least one processor, memory and transceiver;
    其中,所述存储器用于存储程序代码,所述处理器用于调用所述存储器中存储的程序代码来执行以下操作;Wherein, the memory is used to store program code, and the processor is used to call the program code stored in the memory to perform the following operations;
    设置灰度分流比例,同步所述灰度分流比例至发版模块;Set the gray-scale split ratio, and synchronize the gray-scale split ratio to the version issuing module;
    当进行发版时,控制所述发版模块根据所述灰度分流比例和当前生产服务器的数量计算出用于本次灰度发布的候选灰度服务器的目标数量;从所述候选灰度服务器中选择目标灰度服务器,所述目标灰度服务器用于进行灰度发布新版本;在所述目标灰度服务器完成对所述新版本的发布后,将已进行灰度发布 的灰度服务器的网际协议IP地址同步给分流引擎;When issuing a version, control the version-issuing module to calculate the target number of candidate gray-scale servers for this gray-scale release according to the gray-scale split ratio and the number of current production servers; from the candidate gray-scale servers Select the target gray-scale server in the gray-scale server, and the target gray-scale server is used for gray-scale release of a new version; after the target gray-scale server completes the release of the new version, the The Internet Protocol IP address is synchronized to the offload engine;
    根据同步的灰度分流比例和承担本次灰度发布任务的灰度服务器的IP地址,将每个版本的用户进行分组,得到多个用户组,对每个用户组标记类别,以及确认每个用户组对应的服务器类别;According to the synchronized gray distribution ratio and the IP address of the gray server responsible for the gray release task, the users of each version are grouped to obtain multiple user groups, and each user group is marked with a category, and each user group is confirmed The server category corresponding to the user group;
    控制所述分流引擎按照用户所属的用户组的类别,将不同版本的业务数据流分流到对应的用户组。The distribution engine is controlled to distribute service data streams of different versions to corresponding user groups according to the category of the user group to which the user belongs.
  15. 根据权利要求14所述的设备,所述处理器具体用于执行以下操作:The device according to claim 14, wherein the processor is specifically configured to perform the following operations:
    根据灰度发布策略、所述灰度分流比例和当前生产服务器的数量计算所述目标数量;Calculating the target number according to the gray-level publishing strategy, the gray-level distribution ratio and the current number of production servers;
    其中,所述灰度发布策略包括以下项之一:Wherein, the gray release strategy includes one of the following items:
    从候选灰度服务器中选择目标灰度服务器进行分批灰度发版的指示信息;Instruction information for selecting the target gray server from the candidate gray server for batch gray release;
    或者,各灰度发版的间隔时长和发版异常时的应对措施的配置信息,所述配置信息至少包括以下项之一:Or, the interval length of each gray-scale release and the configuration information of the countermeasures when the release is abnormal, the configuration information includes at least one of the following items:
    若发版异常时,则执行切换分流策略;If the release of the version is abnormal, execute the switching and shunt strategy;
    若发版过程中出现异常,则暂停或回滚;If an exception occurs during the release process, it will be suspended or rolled back;
    若验证通过,则自动触发发版流程并将所有用户切换到新版本。If the verification is passed, the release process is automatically triggered and all users are switched to the new version.
  16. 根据权利要求15所述的设备,所述处理器具体用于执行以下操作:The device according to claim 15, wherein the processor is specifically configured to perform the following operations:
    根据所述灰度发布策略、所述灰度分流比例、当前生产服务器的数量、当前用户的访问量、使用本生产服务的用户总数、使用旧版本的用户量、新版本的用户量,计算所述目标数量。According to the gray-scale release strategy, the gray-scale distribution ratio, the number of current production servers, the number of current user visits, the total number of users using this production service, the number of users using the old version, and the number of users using the new version, calculate The target quantity.
  17. 根据权利要求15或16所述的设备,所述处理器在设置灰度分流比例之前,还用于执行以下操作:The device according to claim 15 or 16, wherein the processor is further configured to perform the following operations before setting the gray scale split ratio:
    获取用户反馈的信息,所述用户反馈的信息包括使用新版本的应用的用户反馈的信息、服务正常信息或服务异常信息;Acquiring information fed back by the user, the information fed back by the user including the information fed back by the user using the new version of the application, service normal information or service abnormal information;
    设置初始灰度比例和灰度发布策略,所述灰度发布策略是指按照预设周期和预设灰度比例进行灰度发布,直至完成所有版本发布;Set the initial gray scale and gray scale release strategy, the gray scale release strategy refers to the gray scale release according to the preset cycle and preset gray scale until all versions are released;
    根据所述用户反馈的信息和所述灰度发布策略动态调整适应当前灰度发布的灰度分流比例。According to the information fed back by the user and the gray level publishing strategy, the gray level distribution ratio adapted to the current gray level publishing is dynamically adjusted.
  18. 根据权利要求17所述的设备,所述处理器具体用于:The device according to claim 17, wherein the processor is specifically configured to:
    若用户反馈的服务正常信息的比例在第一数值区间,则按照第一比例上调 所述初始灰度比例;If the proportion of normal service information fed back by the user is within the first numerical interval, the initial gray scale is adjusted upward according to the first proportion;
    若用户反馈的服务正常信息的比例在第二数值区间,则按照第二比例上调所述初始灰度比例;所述第一比例小于所述第二比例,所述第一数值区间的上界值小于所述第二数值区间的下界值。If the proportion of the normal service information fed back by the user is in the second numerical interval, the initial gray scale is adjusted upward according to the second proportion; the first proportion is less than the second proportion, the upper bound of the first numerical interval Less than the lower bound of the second numerical interval.
  19. 根据权利要求18所述的设备,所述处理器至少采用以下分组策略之一将每个版本的用户进行分组:The device according to claim 18, wherein the processor uses at least one of the following grouping strategies to group users of each version:
    将相同版本的用户或版本低于新版本的用户分为一个用户组;Divide users of the same version or users whose version is lower than the new version into a user group;
    根据用户终端的IP地址、白名单、用户标签、业务字段或服务渠道中的至少一项进行分组;Grouping according to at least one of the IP address of the user terminal, whitelist, user tag, business field or service channel;
    或者,根据用户终端的品牌、型号、操作系统或网络类型中的至少一项进行分组。Or, grouping is performed according to at least one of the brand, model, operating system, or network type of the user terminal.
  20. 一种非易失性计算机存储介质,其包括指令,当其在计算机上运行时,使得计算机执行如权利要求1-7中任一项所述的方法。A non-volatile computer storage medium, which includes instructions, which when run on a computer, causes the computer to execute the method according to any one of claims 1-7.
PCT/CN2019/092692 2019-03-12 2019-06-25 Grayscale release management method, system and device, and storage medium WO2020181684A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910182457.1A CN110071960A (en) 2019-03-12 2019-03-12 Manage method, system, equipment and the storage medium of gray scale publication
CN201910182457.1 2019-03-12

Publications (1)

Publication Number Publication Date
WO2020181684A1 true WO2020181684A1 (en) 2020-09-17

Family

ID=67366158

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092692 WO2020181684A1 (en) 2019-03-12 2019-06-25 Grayscale release management method, system and device, and storage medium

Country Status (2)

Country Link
CN (1) CN110071960A (en)
WO (1) WO2020181684A1 (en)

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035126A (en) * 2020-09-22 2020-12-04 北京百度网讯科技有限公司 Processing method and device for gray release, electronic equipment and storage medium
CN112346738A (en) * 2020-11-30 2021-02-09 深圳市欧瑞博科技股份有限公司 Intelligent gray level release method and device, electronic equipment and storage medium
CN112433749A (en) * 2020-11-24 2021-03-02 中国建设银行股份有限公司 Application gray level publishing method and device, server and client
CN112486560A (en) * 2020-11-24 2021-03-12 云南电网有限责任公司信息中心 Application resource topology management system
CN112653579A (en) * 2020-12-16 2021-04-13 中国人寿保险股份有限公司 OpenResty-based gray scale publishing method and related equipment
CN112650523A (en) * 2020-12-02 2021-04-13 青岛海尔科技有限公司 Data distribution method, device and equipment for gray scale release
CN112835606A (en) * 2021-03-31 2021-05-25 中国工商银行股份有限公司 Gradation issuing method, gradation issuing apparatus, electronic device, gradation issuing medium, and program product
CN112835617A (en) * 2021-03-02 2021-05-25 北京字节跳动网络技术有限公司 Gray scale publishing method, device, server and readable medium
CN112905210A (en) * 2021-03-24 2021-06-04 青岛聚看云科技有限公司 Server and gray scale publishing method
CN113138774A (en) * 2021-05-11 2021-07-20 中国工商银行股份有限公司 Gradation issuing method, gradation issuing apparatus, electronic device, gradation issuing medium, and program product
CN113282326A (en) * 2021-06-21 2021-08-20 多点生活(成都)科技有限公司 Method and device for gray scale upgrading, electronic equipment and readable storage medium
CN113377381A (en) * 2021-06-30 2021-09-10 北京百度网讯科技有限公司 Method and device for distributing small program package, electronic equipment and medium
CN113542387A (en) * 2021-07-09 2021-10-22 平安银行股份有限公司 System publishing method, device, electronic equipment and storage medium
CN113676549A (en) * 2021-09-02 2021-11-19 京东科技信息技术有限公司 Application request distribution method, application gateway, electronic device and storage medium
CN113760316A (en) * 2020-10-22 2021-12-07 北京沃东天骏信息技术有限公司 Application configuration system and method
CN114363343A (en) * 2021-12-30 2022-04-15 上海浦东发展银行股份有限公司 Request data processing method and device based on micro-service architecture and computer equipment
CN114390105A (en) * 2022-03-01 2022-04-22 阿里巴巴(中国)有限公司 Enterprise user distribution method and device based on test
CN114553855A (en) * 2020-11-25 2022-05-27 北京奇艺世纪科技有限公司 Plug-in gray level release method and device, electronic equipment and storage medium
CN114579162A (en) * 2022-05-07 2022-06-03 杭州又拍云科技有限公司 Gray scale publishing method based on event driving and horizontal triggering
CN114968274A (en) * 2022-07-29 2022-08-30 之江实验室 Method and system for automatically and rapidly deploying front-end processor based on gray release
CN116578335A (en) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 Gray release system, method, equipment, medium and product
CN117170718A (en) * 2023-11-02 2023-12-05 绿城科技产业服务集团有限公司 Gray scale release method and device based on micro-service architecture and electronic equipment

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110633207A (en) * 2019-08-14 2019-12-31 平安普惠企业管理有限公司 Operation request processing method and system based on gray level test and computer equipment
CN110609701A (en) * 2019-08-29 2019-12-24 凡普数字技术有限公司 Method, apparatus and storage medium for providing service
CN110688134B (en) * 2019-08-29 2023-02-17 创新先进技术有限公司 Method and device for gray scale publishing
CN110798502B (en) * 2019-09-18 2022-06-17 平安科技(深圳)有限公司 Grayscale publishing method and device based on micro-service framework and computer equipment
CN110716730B (en) * 2019-10-14 2023-09-26 网易(杭州)网络有限公司 Gray release method, device, equipment and computer readable storage medium
CN110784530A (en) * 2019-10-22 2020-02-11 聚好看科技股份有限公司 Gray scale publishing method and server
CN110928555B (en) * 2019-11-21 2023-04-18 广州品唯软件有限公司 Gray scale release control method and device, computer equipment and storage medium
CN111104634B (en) * 2019-12-20 2023-08-29 北京达佳互联信息技术有限公司 Gray scale user method, server and storage medium
CN111488159A (en) * 2019-12-20 2020-08-04 杭州当虹科技股份有限公司 Gray scale publishing method capable of being dynamically configured
CN111338824B (en) * 2020-02-27 2023-08-15 中国联合网络通信集团有限公司 Gray release method and device, electronic equipment and storage medium
CN111290779B (en) * 2020-03-04 2023-07-07 北京三快在线科技有限公司 Gray release method and device, storage medium and electronic equipment
CN111399875B (en) * 2020-03-06 2023-09-05 咪咕文化科技有限公司 Gray scale upgrading control method and device, electronic equipment and storage medium
CN111464520B (en) * 2020-03-26 2022-12-09 银联商务股份有限公司 Data processing method and device, storage medium and electronic equipment
CN112187662B (en) * 2020-09-16 2023-03-28 银盛支付服务股份有限公司 Apollo-based traffic distribution method
CN112114869A (en) * 2020-09-18 2020-12-22 聚好看科技股份有限公司 Server, gray level publishing method, device and medium
CN112162762B (en) * 2020-10-16 2024-04-02 中国工商银行股份有限公司 Gray level distribution method, gray level distribution device and electronic equipment
CN112346777A (en) * 2020-11-20 2021-02-09 浙江百应科技有限公司 Smooth application program publishing method and device
CN112506559B (en) * 2020-12-14 2024-02-06 招商局金融科技有限公司 Gray release method and device based on gateway, electronic equipment and storage medium
CN113051182B (en) * 2021-04-30 2024-02-09 中国工商银行股份有限公司 Gray level publishing method, device and equipment based on distributed transaction
CN113435782A (en) * 2021-07-15 2021-09-24 支付宝(杭州)信息技术有限公司 Service change method and device
CN113434432B (en) * 2021-07-20 2022-11-08 北京百度网讯科技有限公司 Performance test method, device, equipment and medium for recommendation platform
CN114217821A (en) * 2022-02-21 2022-03-22 深圳市秦丝科技有限公司 Multi-server code gray scale release method and device, electronic equipment and storage medium
CN115408285B (en) * 2022-08-31 2023-06-20 北京发现角科技有限公司 Gray scale test method and device, electronic equipment and storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099988A (en) * 2014-04-24 2015-11-25 阿里巴巴集团控股有限公司 Method used for supporting gray releasing, access method, devices and system
CN105955761A (en) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 Docker-based gray level issuing device and docker-based gray level issuing method
CN108768875A (en) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 Gray scale dissemination method, device and the computer readable storage medium of application

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105335204A (en) * 2014-07-29 2016-02-17 株式会社日立制作所 Grey level distribution control method and grey level distribution control device of software program
CN104881734A (en) * 2015-05-11 2015-09-02 广东小天才科技有限公司 Method, device and system for guiding product improvement based on gray release
CN106066791A (en) * 2016-05-25 2016-11-02 合网络技术(北京)有限公司 The gray scale dissemination method of application and device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105099988A (en) * 2014-04-24 2015-11-25 阿里巴巴集团控股有限公司 Method used for supporting gray releasing, access method, devices and system
CN105955761A (en) * 2016-06-30 2016-09-21 乐视控股(北京)有限公司 Docker-based gray level issuing device and docker-based gray level issuing method
CN108768875A (en) * 2018-05-31 2018-11-06 康键信息技术(深圳)有限公司 Gray scale dissemination method, device and the computer readable storage medium of application

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112035126A (en) * 2020-09-22 2020-12-04 北京百度网讯科技有限公司 Processing method and device for gray release, electronic equipment and storage medium
CN112035126B (en) * 2020-09-22 2023-10-20 北京百度网讯科技有限公司 Processing method and device for gray level distribution, electronic equipment and storage medium
CN113760316A (en) * 2020-10-22 2021-12-07 北京沃东天骏信息技术有限公司 Application configuration system and method
CN112486560A (en) * 2020-11-24 2021-03-12 云南电网有限责任公司信息中心 Application resource topology management system
CN112486560B (en) * 2020-11-24 2023-09-29 云南电网有限责任公司信息中心 Application resource topology management system
CN112433749A (en) * 2020-11-24 2021-03-02 中国建设银行股份有限公司 Application gray level publishing method and device, server and client
CN114553855B (en) * 2020-11-25 2024-04-05 北京奇艺世纪科技有限公司 Plug-in gray level issuing method and device, electronic equipment and storage medium
CN114553855A (en) * 2020-11-25 2022-05-27 北京奇艺世纪科技有限公司 Plug-in gray level release method and device, electronic equipment and storage medium
CN112346738A (en) * 2020-11-30 2021-02-09 深圳市欧瑞博科技股份有限公司 Intelligent gray level release method and device, electronic equipment and storage medium
CN112650523A (en) * 2020-12-02 2021-04-13 青岛海尔科技有限公司 Data distribution method, device and equipment for gray scale release
CN112650523B (en) * 2020-12-02 2023-06-16 青岛海尔科技有限公司 Data distribution method, device and equipment for gray level release
CN112653579A (en) * 2020-12-16 2021-04-13 中国人寿保险股份有限公司 OpenResty-based gray scale publishing method and related equipment
CN112653579B (en) * 2020-12-16 2023-05-23 中国人寿保险股份有限公司 Gray release method based on OpenResity and related equipment
CN112835617A (en) * 2021-03-02 2021-05-25 北京字节跳动网络技术有限公司 Gray scale publishing method, device, server and readable medium
CN112835617B (en) * 2021-03-02 2024-04-02 北京字节跳动网络技术有限公司 Gray release method, device, server and readable medium
CN112905210A (en) * 2021-03-24 2021-06-04 青岛聚看云科技有限公司 Server and gray scale publishing method
CN112905210B (en) * 2021-03-24 2023-09-15 青岛聚看云科技有限公司 Server and gray level publishing method
CN112835606B (en) * 2021-03-31 2024-01-30 中国工商银行股份有限公司 Gray release method and device, electronic equipment and medium
CN112835606A (en) * 2021-03-31 2021-05-25 中国工商银行股份有限公司 Gradation issuing method, gradation issuing apparatus, electronic device, gradation issuing medium, and program product
CN113138774A (en) * 2021-05-11 2021-07-20 中国工商银行股份有限公司 Gradation issuing method, gradation issuing apparatus, electronic device, gradation issuing medium, and program product
CN113138774B (en) * 2021-05-11 2024-02-09 中国工商银行股份有限公司 Gray release method, device, electronic equipment and medium
CN113282326B (en) * 2021-06-21 2023-05-16 多点生活(成都)科技有限公司 Gray scale upgrading method, device, electronic equipment and readable storage medium
CN113282326A (en) * 2021-06-21 2021-08-20 多点生活(成都)科技有限公司 Method and device for gray scale upgrading, electronic equipment and readable storage medium
CN113377381B (en) * 2021-06-30 2023-11-14 北京百度网讯科技有限公司 Distribution method and device of small program package, electronic equipment and medium
CN113377381A (en) * 2021-06-30 2021-09-10 北京百度网讯科技有限公司 Method and device for distributing small program package, electronic equipment and medium
CN113542387A (en) * 2021-07-09 2021-10-22 平安银行股份有限公司 System publishing method, device, electronic equipment and storage medium
CN113542387B (en) * 2021-07-09 2023-07-04 平安银行股份有限公司 System release method and device, electronic equipment and storage medium
CN113676549A (en) * 2021-09-02 2021-11-19 京东科技信息技术有限公司 Application request distribution method, application gateway, electronic device and storage medium
CN114363343A (en) * 2021-12-30 2022-04-15 上海浦东发展银行股份有限公司 Request data processing method and device based on micro-service architecture and computer equipment
CN114363343B (en) * 2021-12-30 2024-04-30 上海浦东发展银行股份有限公司 Method and device for processing request data based on micro-service architecture and computer equipment
CN114390105A (en) * 2022-03-01 2022-04-22 阿里巴巴(中国)有限公司 Enterprise user distribution method and device based on test
CN114579162A (en) * 2022-05-07 2022-06-03 杭州又拍云科技有限公司 Gray scale publishing method based on event driving and horizontal triggering
CN114579162B (en) * 2022-05-07 2022-08-23 杭州又拍云科技有限公司 Gray scale publishing method based on event driving and horizontal triggering
CN114968274A (en) * 2022-07-29 2022-08-30 之江实验室 Method and system for automatically and rapidly deploying front-end processor based on gray release
CN116578335B (en) * 2023-07-13 2023-10-03 建信金融科技有限责任公司 Gray release system, method, equipment, medium and product
CN116578335A (en) * 2023-07-13 2023-08-11 建信金融科技有限责任公司 Gray release system, method, equipment, medium and product
CN117170718A (en) * 2023-11-02 2023-12-05 绿城科技产业服务集团有限公司 Gray scale release method and device based on micro-service architecture and electronic equipment
CN117170718B (en) * 2023-11-02 2024-02-02 绿城科技产业服务集团有限公司 Gray scale release method and device based on micro-service architecture and electronic equipment

Also Published As

Publication number Publication date
CN110071960A (en) 2019-07-30

Similar Documents

Publication Publication Date Title
WO2020181684A1 (en) Grayscale release management method, system and device, and storage medium
US11277306B2 (en) Sending information of a network repository function instance storing network function instance information
CN110061871B (en) Base station opening method and device, computer storage medium and equipment
EP3373518B1 (en) Service configuration method and device for network service
CN110474794B (en) Information conversion method and system of SDN framework
CN109429277A (en) The selection method of network slice, apparatus and system
CN109995588B (en) Flexible Ethernet link management method and system
CN110290168B (en) Data transmission method, device, server and storage medium
CN106487538A (en) Business accelerating method, policy control platform and system
CN104427557B (en) For controlling the method, apparatus and system of qos policy conflict
US7254628B2 (en) Network management system with validation of policies
CN112312481B (en) Communication method and system for MEC and multi-operator core network
CN105553714A (en) Service configuration method and system
CN103200124A (en) Service strategy adjustment method and service strategy adjustment device
CN114422440B (en) Gray scale distribution method and device, electronic equipment and storage medium
CN110620811B (en) ONU management method and system under vOLT cluster architecture
CN111464889B (en) Channel bandwidth adjusting method and system
CN110753277B (en) Method and system for configuration management in OLT network slice
US10103897B2 (en) Method and apparatus for managing subscription to a policy counter
CN100401681C (en) Method for realizing configuration of service frame data
WO2021012588A1 (en) Method and system for establishing flexible ethernet management channel
KR20170057770A (en) Method for controlling transsion of packet in virtual switch
CN112492643A (en) Multilink-based data forwarding method and device and terminal equipment
CN112152975A (en) Audio data processing method and device
EP4084452A1 (en) Apparatus, method and computer program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19918893

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19918893

Country of ref document: EP

Kind code of ref document: A1