A grayscale release method

By monitoring and adjusting the number of users in real time, based on traffic and business data, the problem of low accuracy of grayscale release is solved, ensuring that the new version application runs stably under a smaller user base, and improving the accuracy of grayscale release.

CN112286549BActive Publication Date: 2024-12-24BEIJING SANKUAI ONLINE TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202011123051.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-10-20
Publication Date
2024-12-24
Estimated Expiration
2040-10-20

AI Technical Summary

Technical Problem

When the application is updated, the accuracy of grayscale release in the prior art is low, especially when the number of users is small, it is impossible to accurately judge whether the functions of the new version of the application are normal and stable.

Method used

By monitoring the traffic data and business data of target users in real time, the number of users released in grayscale is automatically adjusted to ensure sufficient user data is collected to test the functions of the new version of the application and improve the accuracy of grayscale is released. The specific method includes determining the target user from the received service request, determining the indicator based on the service and traffic data, and adjusting the number of users until the indicator meets the preset conditions.

Benefits of technology

Improve the accuracy of grayscale release, avoid inaccurate analysis results caused by insufficient target users, and ensure that the functions of the new version application can run stably under a smaller user base.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112286549B_ABST
    Figure CN112286549B_ABST
Patent Text Reader

Abstract

This specification discloses a grayscale publishing method and device, which can determine the corresponding traffic data and business data based on the business requests sent by each target user, and then determine the traffic index and business index based on the traffic data and business data. When the business index meets the preset business index conditions, and whether the traffic index meets the preset traffic index conditions, it is determined that the updated client version functions normally. If the business index meets but the traffic index does not meet, the target user is re-determined, and the traffic index and business index are re-determined until both meet. When the business index does not meet the preset business index conditions, it is determined that the updated client version functions abnormally. By determining the traffic index and business index in real time, and adjusting the target users according to the preset traffic index conditions, it is avoided that the insufficient number of target users leads to inaccurate analysis results, and the accuracy of grayscale publishing is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a grayscale publishing method. Background Art

[0002] At present, when updating applications (apps) and releasing new versions of apps, in order to avoid release risks and ensure the stability of the new version of apps, grayscale release is usually adopted. That is, some users are first guided to experience the new version of the app. When it is determined that the functions of the new version of the app are normal and stable, the scope of use of the new version of the app is gradually expanded.

[0003] Specifically, when the prior art performs a grayscale release, developers can deploy the business code that implements the functions of the new version of the app to a small number of servers in advance according to a predetermined grayscale release plan. After that, a preset number of users are selected from all users who use the app, and a prompt message of the app update is sent to these users, so that these users can update according to the prompt message. When the updated user sends a service request to the server through the gateway, the gateway can forward the service execution request of the updated user to the server where the new version of the app is deployed to use the functions of the new version of the app. Finally, when it is determined that the functions of the updated app are normal and stable based on the business data of these users, the scope of users using the new version of the app can be gradually expanded. Summary of the invention

[0004] The embodiments of this specification provide a grayscale release method and device for partially solving the problem in the prior art that when the number of users updating an application is small, the function of the new version of the application is not accurately judged based on the business data of these users, resulting in low accuracy of grayscale release.

[0005] The embodiments of this specification adopt the following technical solutions:

[0006] This manual provides a grayscale release method, including:

[0007] Determining a service request sent by a target user from the received service requests, wherein the target user is a user used to test the updated client version in the phased release;

[0008] Determine the traffic data of the target user according to the determined service request of the target user, and determine the service data of the target user according to the service request of the target user and the service information returned by the server;

[0009] Determine the traffic index of the target user according to the traffic data of the target user, and determine the service index of the target user according to the service data of the target user;

[0010] When the business indicator meets the preset business indicator condition, determining whether the flow indicator meets the preset flow indicator condition;

[0011] If so, make sure the updated client version functions properly;

[0012] If not, redetermine the target user, and redetermine the traffic data and the service data according to the service request sent by the redetermined target user, and redetermine the traffic index and the service index respectively according to the redetermined traffic data and the service data, until the redetermined service index meets the preset service index condition and the redetermined traffic index meets the preset traffic index condition;

[0013] When the business indicator does not meet the preset business indicator condition, it is determined that the updated client version has abnormal functions.

[0014] Optionally, before determining the service request sent by the target user, the method further includes:

[0015] According to the preset range of the number of grayscale releases, determine the users who will perform the grayscale release, and send a prompt message to the determined users, wherein the prompt message is used to prompt the users to update the client version;

[0016] The users who update the client version according to the prompt information are regarded as target users.

[0017] Optionally, the traffic indicator condition is determined based on a preset range of quantities for grayscale release;

[0018] Redefine target users, including:

[0019] Determine the flow difference according to the determined flow index and the preset flow index condition;

[0020] According to the traffic difference, adjusting the number of users performing the grayscale release;

[0021] Prompt information is sent to the adjusted user, so that the user updates the client version according to the prompt information, and the target user is re-determined according to the user who updates the client version among the users.

[0022] Optionally, the traffic indicator condition is determined based on a preset range of quantities for grayscale release;

[0023] Redefine target users, including:

[0024] Re-determine the users for grayscale release according to the preset grayscale release quantity range;

[0025] Sending prompt information to the re-determined user, so that the user updates the client version according to the prompt information;

[0026] A user who updates the client version among the users is re-determined as a target user.

[0027] Optionally, there are multiple business indicators;

[0028] The method further comprises:

[0029] When any business indicator does not meet the preset business indicator conditions, it is determined that the updated client version functions abnormally.

[0030] Optionally, the method further comprises:

[0031] When the business indicator does not meet the preset business indicator condition, the version of the target user is rolled back, and the cause of the abnormality is determined according to the business data of the target user to repair the updated version of the client.

[0032] This specification provides a grayscale publishing device, including:

[0033] A first determination module determines a service request sent by a target user from the received service requests, wherein the target user is a user used to test the updated client version in the phased release;

[0034] A second determination module determines the flow data of the target user according to the determined service request of the target user, and determines the service data of the target user according to the service request of the target user and the service information returned by the server;

[0035] A third determination module determines the flow index of the target user according to the flow data of the target user, and determines the service index of the target user according to the service data of the target user;

[0036] A judgment module, when the business indicator meets the preset business indicator condition, judges whether the flow indicator meets the preset flow indicator condition, if so, determines that the updated client version functions normally, if not, redetermines the target user, and redetermines the flow data and the business data according to the business request sent by the redetermined target user, and redetermines the flow indicator and the business indicator respectively according to the redetermined flow data and the business data, until the redetermined business indicator meets the preset business indicator condition and the redetermined flow indicator meets the preset flow indicator condition;

[0037] The fourth determination module determines that the updated client version has abnormal functions when the business indicator does not meet the preset business indicator conditions.

[0038] This specification provides a computer-readable storage medium, which stores a computer program. When the computer program is executed by a processor, the above-mentioned grayscale release method is implemented.

[0039] The present specification provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor implements the above-mentioned grayscale release method when executing the program.

[0040] At least one of the above technical solutions adopted in the embodiments of this specification can achieve the following beneficial effects:

[0041] When performing grayscale release, the traffic data of each target user and the business data of each target user can be determined based on the business requests sent by the target users. After that, the traffic indicators and business indicators are determined based on the determined traffic data and business data. When the business indicator meets the preset business indicator conditions, it is determined whether the traffic indicator meets the preset traffic indicator conditions. If it does, it is determined that the updated client version functions normally. If it does not, each target user is re-determined, and the traffic indicators and business indicators are re-determined until the re-business indicators meet the preset business indicator conditions and the traffic indicators meet the preset traffic indicator conditions. When the business indicator does not meet the preset business indicator conditions, it is determined that the updated client version functions abnormally. Based on the traffic data and business data of the target users, the traffic indicators and business indicators are determined in real time, and the target users are adjusted according to the preset traffic indicator conditions to avoid the problem of inaccurate analysis results due to insufficient number of target users, thereby improving the accuracy of grayscale release. BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0043] Figure 1 A schematic diagram of a process of a grayscale publishing method provided in an embodiment of this specification;

[0044] Figure 2 A schematic diagram of the structure of a grayscale publishing device provided in an embodiment of this specification;

[0045] Figure 3 A schematic diagram of an electronic device for implementing the grayscale publishing method provided in an embodiment of this specification. DETAILED DESCRIPTION

[0046] In order to make the purpose, technical solutions and advantages of this specification more clear, the technical solutions of this application will be clearly and completely described below in combination with the specific embodiments of this specification and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of this application, not all of them. Based on the embodiments in the specification, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0047] Before a new version of an application is released, in order to avoid problems such as poor user experience and business execution failures when using the new version of the app and to reduce the risk of direct release, a smoother transition method is usually used to update and launch the application, such as grayscale release.

[0048] At present, when grayscale release is carried out, developers are generally required to manually operate and release it. Specifically, developers can first select a preset number of users according to the preset grayscale release plan, and send reminders to the selected users to update the app version to prompt users to update. After that, developers can analyze the business data of the updated users to determine whether the functions of the new version of the app are normal. If normal, the new version of the application can be released later.

[0049] However, since it is impossible to control the online status and update status of users, the number of users who update according to the prompt information is often less than the preset number. At this time, the conclusion drawn based only on the business data of the updated users is often not accurate enough, resulting in low accuracy of grayscale release.

[0050] Based on the above-mentioned problems, this manual provides a grayscale release method, which can automatically adjust the users for grayscale release by real-time monitoring of the target users' traffic data and business data to ensure that sufficient user business data is collected, test the functions of the new version of the app, and improve the accuracy of grayscale release.

[0051] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0052] Figure 1 A schematic flow chart of a grayscale publishing method provided in an embodiment of this specification may specifically include the following steps:

[0053] S100: Determine a service request sent by a target user from among received service requests.

[0054] The grayscale publishing method provided in this specification can be applied to the process of grayscale publishing of a web client application (web app) or a hybrid client application (hybrid app), and the grayscale publishing method can be specifically executed by a server that performs grayscale publishing. The server can be a single server or a system composed of multiple servers, such as a distributed server, etc. This specification does not impose any restrictions on this, and it can be set according to specific needs.

[0055] When performing grayscale release in this manual, it is necessary to deploy the business code that implements the functions of the new version of the app to a minimum number of business servers in advance. Afterwards, the server that executes the grayscale release process can select some users from the users who use the app as users for grayscale release according to the preset grayscale release quantity range. And send a prompt message to update the app version to the determined users, so that the user can update the app version. It should be noted that the grayscale release quantity range refers to the preset range of the number of users who test the new version of the app.

[0056] Among them, when determining the users for grayscale release according to the preset grayscale release quantity range, usually according to the lower limit of the quantity range, some users corresponding to the lower limit of the quantity are randomly determined from the users of the app as the users for grayscale release. It should be noted that in order to improve the accuracy of grayscale release, the preset grayscale release quantity range is usually pre-set based on the total number of users using the app, and the quantity range is expressed as the ratio of users for grayscale release to the total number of users using the app. For the convenience of description, the subsequent preset grayscale release quantity ranges are described in terms of the percentage of the number of users.

[0057] For example: assuming that the preset range of grayscale releases is (10%, 50%), that is, the number of users performing grayscale releases accounts for between 10% and 50% of the total number of users using the app, when performing grayscale releases, 10% of users can be randomly selected from the users using the app based on the lower limit of the range as users for grayscale releases.

[0058] Furthermore, in this specification, when determining the users who are to be released in grayscale from the users who use the app, the server can also determine the users who meet the preset filtering conditions according to the user data of all users and the preset filtering conditions as the users to be released in grayscale. The filtering conditions can be determined according to factors such as the city where the user is located, the type of terminal used by the user, the gender of the user, and the age of the user. The specific filtering conditions can be set according to business needs, and this specification does not limit this. Continuing with the above example, when determining 10% of the users who are to be released in grayscale, users whose city is Beijing can be determined according to the user data of each user, and 10% of the users can be determined as users to be released in grayscale.

[0059] In the embodiments of this specification, after sending the prompt information to the determined users, since it is impossible to predict the online status and update status of the users, not all users who receive the prompt information will update the app version. When evaluating the functions of the new version of the app, it can only be determined based on the business data of the users who have updated the app version. Therefore, the users who have updated the app version among the users who received the prompt information can be used as target users, and the business data of each target user can be used to determine whether the updated app version is complete.

[0060] Specifically, the server can monitor the service requests sent by the user through the client in real time, and determine the user identifier contained in each service request. Afterwards, based on the user identifiers contained in each service request and the user identifiers of each target user, the service request sent by the target user is determined, so that the function of the updated app version can be judged based on the service request sent by the target user. Real-time monitoring refers to periodic monitoring, usually 1 to 2 minutes.

[0061] In addition, when determining the service request sent by the target user, it can also be judged according to the unique identifier of the device corresponding to the target user. This specification does not limit how to determine the service request sent by the target user, and the specific method can be set according to needs.

[0062] S102: Determine the traffic data of the target user according to the determined service request of the target user, and determine the service data of the target user according to the service request of the target user and the service information returned by the server.

[0063] In the embodiment of this specification, after determining the service requests sent by each target user, the service data of each target user performing the service can be determined based on each service request, and the function of the new version of the app can be judged based on the service data of the target user. Furthermore, since not all users who receive the prompt information will update the app version, in order to avoid a small number of users who perform version updates and improve the accuracy of grayscale release, it is also necessary to determine the traffic data of each target user so as to adjust the number of target users through subsequent steps.

[0064] Specifically, the server can determine the traffic data of each target user according to the number of service requests sent by each target user, wherein the service request is used to access the function of this app version update. In addition, the server can determine the service information returned by the server that deploys the new version of the app function for each target user according to the service request sent by the target user, and determine the service data of the target user according to the service request sent by the target user and the received service information. Subsequently, the server can determine whether the number of target users is sufficient according to the traffic data of each target user, and determine whether the function of the new version of the app is complete according to the service data of each target user.

[0065] S104: Determine a traffic index of the target user according to the traffic data of the target user, and determine a service index of the target user according to the service data of the target user.

[0066] In the embodiment of the present specification, after determining the traffic data and business data of each target user, the server can determine the traffic indicators and business indicators of each target user based on the traffic data and business data, so as to determine whether the number of target users is sufficient and whether the functions of the new version of the app are complete based on the traffic indicators and business indicators.

[0067] Specifically, the server can determine the traffic proportion of the target user based on the traffic data of the determined target user and the total number of users using the app as the traffic indicator of the target user. In addition, the server can also determine the business indicator of the target user based on the business data of each determined target user. For example, assuming that each target user performs a payment service, the payment success rate of each target user can be determined based on the payment data of each target user as the business indicator of the payment service.

[0068] S106: When the business indicator meets the preset business indicator condition, determine whether the flow indicator meets the preset flow indicator condition. If yes, execute step S108; if no, execute step S110.

[0069] In the embodiments of this specification, after determining the traffic indicators and business indicators of the target users, the number of target users and the functions of the new version of the app can be judged. However, since the main purpose of grayscale release is to detect the functions of the new version of the app, and when the business indicators do not meet the standards, there is no need to judge the traffic indicators. The function of the new version of the app can be directly determined to be abnormal. However, when the traffic indicators do not meet the standards, the traffic indicators can be adjusted by adjusting the target users. Therefore, in this specification, the business indicators can be judged first, and then the traffic indicators can be judged, so as to reduce the waste of resources caused by determining that the traffic indicators meet the standards but the business indicators do not meet the standards.

[0070] Specifically, the server can determine whether the business indicator meets the preset business indicator conditions based on the business indicator of the target user. When the business indicator meets the preset business indicator conditions, it indicates that the function of the new version of the app is normal. At this time, the server can determine the traffic indicator of the target user and determine whether the traffic indicator meets the preset traffic indicator conditions, that is, whether the number of users accessing the new functions of the updated version is sufficient.

[0071] Among them, the business indicator conditions can be set based on business needs, for example: the business indicator conditions can be set to a payment success rate of 100%. Assuming that the business indicator is determined to be a payment success rate of 90% based on the payment business data of the target user, the business indicator does not meet the preset business indicator conditions, and it can be determined that the function of the new version of the app is abnormal. The flow indicator condition can be determined based on the preset grayscale release quantity range. For example: when the preset grayscale release quantity range is (10%, 50%), the flow indicator condition can be a fixed value, which is usually less than or equal to the lower limit of the grayscale release quantity range, such as: the flow indicator reaches 10%, or the flow indicator reaches 8%, etc. Alternatively, the flow indicator condition can also be an interval range, such as: the flow indicator reaches between (10%, 20%), etc.

[0072] S108: Determine whether the updated client version functions normally.

[0073] In the embodiment of this specification, when it is determined that the business indicator meets the preset business indicator conditions, and when it is determined that the traffic indicator meets the preset traffic indicator conditions, it means that under the condition that the number of target users is sufficient, the function of the new version of the app is normal and the new version of the app can be directly released subsequently.

[0074] S110: Re-determine the target user, and redetermine the traffic data and the service data based on the service request sent by the re-determined target user, and redetermine the traffic indicator and the service indicator respectively based on the re-determined traffic data and service data, until the re-determined service indicator meets the preset business indicator conditions and the re-determined traffic indicator meets the preset traffic indicator conditions.

[0075] In an embodiment of the present specification, when it is determined that the business indicator meets the preset business indicator conditions, but the traffic indicator does not meet the preset traffic indicator conditions, it indicates that the number of target users for testing is small. At this time, in order to improve the accuracy of grayscale release, the server can adjust the number of target users based on the determined traffic indicator to ensure that the number of target users for testing is sufficient.

[0076] Specifically, when it is determined that the business indicator meets the preset business indicator conditions, but the traffic indicator does not meet the preset traffic indicator conditions, the server can determine the traffic difference based on the determined traffic indicator and the preset traffic indicator conditions. Secondly, according to the determined traffic difference, the number of users for grayscale release is adjusted. Among them, since not all users who usually receive prompt information have updated the app version, it is necessary to expand the number of users for grayscale release to increase the number of target users and further improve the traffic indicator. Afterwards, according to the determined number of expanded users, users are expanded from users who use the app, and prompt information is sent to the expanded users so that the users update the app version according to the prompt information. Then, the users who update the version among the expanded users are added as target users to the target users determined in the above step S100.

[0077] Assuming that in step S100, according to the preset range of grayscale releases (10%, 50%), the preset traffic index condition is that the traffic index is at least greater than 10%, then it can be determined that the number of users who perform grayscale releases is 10%, and a prompt message for version update is sent to the determined 10% of users, but only 5% of users perform version update according to the prompt message, that is, the number of target users accounts for 5%. At this time, if the preset traffic index condition is to be met, the server can first determine to expand the number of users who perform grayscale releases by 5% based on the 5% traffic difference, and send a prompt message to the determined 5% of users to prompt the users to perform version update. Afterwards, the users who perform version update in the expanded 5% of users are added as target users to the above 5% of target users.

[0078] Alternatively, in another embodiment of the present specification, when it is determined that the business indicator meets the preset business indicator conditions, but the traffic indicator does not meet the preset traffic indicator conditions, the server can redetermine the users who perform grayscale release according to the preset grayscale release quantity range, and send a prompt message to the redetermined user to prompt the user to update the app version. Afterwards, the user who updates the version according to the prompt message will be re-targeted as the user. Continuing with the above example, when prompt messages are sent to 10% of the users, but only 5% of the users perform version updates, the server can redetermine 10% of the users according to the preset grayscale release quantity range (10%, 50%), and send a prompt message to the 10% of the users, and re-target the users who have updated the app version among the users who received the prompt message. Among them, the 5% of target users previously determined can perform version rollback and use the old version to perform business again.

[0079] In the embodiments of this specification, which of the above methods is used to redefine the target user can be set according to business needs, and this specification does not impose any limitation.

[0080] After redetermining the target user, the server can redetermine the traffic data and business data based on the business request of the redetermined target user, and redetermine the traffic indicator and business indicator respectively until the redetermined business indicator meets the preset business indicator conditions and the redetermined traffic indicator meets the preset traffic indicator conditions.

[0081] S112: When the business indicator does not meet the preset business indicator condition, it is determined that the updated client version has abnormal functions.

[0082] In the embodiment of this specification, when it is determined that the business indicator of the target user does not meet the preset business indicator conditions, it indicates that the function of the app of this updated version is abnormal and needs to be corrected. At this time, in order to ensure that the target user can use the app normally to perform business, the version of each target user can be rolled back, and the business request of each target user can be forwarded to the server of the old version of the app.

[0083] Furthermore, the server can also analyze the reasons for abnormal business execution based on the business data of each target user, and generate a grayscale release report so that developers can fix the abnormalities in the new version of the app based on the grayscale release report.

[0084] based on Figure 1The grayscale publishing method shown can determine the traffic data of the target user and the business data of the target user based on the business request sent by the target user when performing grayscale publishing. Then, the traffic index and business index are determined based on the determined traffic data and business data. When the business index meets the preset business index condition, it is judged whether the traffic index meets the preset traffic index condition. If it does not meet the preset traffic index condition, it is determined that the updated client version functions normally. If not, the target user is re-determined, and the traffic index and business index are re-determined until the re-business index meets the preset business index condition and the traffic index meets the preset traffic index condition. When the business index does not meet the preset business index condition, it is determined that the updated client version functions abnormally. Based on the traffic data and business data of the target user, the traffic index and business index are determined in real time, and the target user is adjusted according to the preset traffic index condition to avoid the problem of inaccurate analysis results caused by insufficient number of target users, thereby improving the accuracy of grayscale publishing.

[0085] In addition, in this specification, when the app version is updated, more than one business function may be updated in the new version of the app. Therefore, when determining the business indicators of the target users, multiple business indicators must also be determined, where each business indicator corresponds to a different updated business function. The preset business indicator conditions are also set for each updated business function. When any business indicator does not meet the preset business indicator conditions, it is determined that the updated app version is abnormal.

[0086] In this specification, when testing the functions of a new version of the app based on business indicators, the business indicator does not only refer to whether a certain business function can be realized, but also refers to indicators that affect user experience, such as business execution efficiency. Based on business indicators, not only the business execution functions in the new version of the app can be detected, but also whether the user experience of the new version of the app is good can be detected.

[0087] based on Figure 1 The grayscale publishing method shown in the embodiment of this specification also provides a structural schematic diagram of a grayscale publishing device, such as Figure 2 shown.

[0088] Figure 2 A schematic diagram of a grayscale publishing device provided in an embodiment of this specification, the device comprising:

[0089] A first determination module 200 determines a service request sent by a target user from the received service requests, wherein the target user is a user used to test the updated client version in the phased release;

[0090] The second determination module 202 determines the flow data of the target user according to the determined service request of the target user, and determines the service data of the target user according to the service request of the target user and the service information returned by the server;

[0091] The third determination module 204 determines the flow index of the target user according to the flow data of the target user, and determines the service index of the target user according to the service data of the target user;

[0092] The judgment module 206 judges whether the flow indicator meets the preset flow indicator condition when the business indicator meets the preset business indicator condition. If so, it is determined that the updated client version functions normally. If not, the target user is re-determined, and the flow data and the business data are re-determined according to the business request sent by the re-determined target user, and the flow indicator and the business indicator are re-determined according to the re-determined flow data and business data, respectively, until the re-determined business indicator meets the preset business indicator condition and the re-determined flow indicator meets the preset flow indicator condition;

[0093] The fourth determination module 208 determines that the updated client version has abnormal functions when the business indicator does not meet the preset business indicator conditions.

[0094] Optionally, the grayscale release device further includes a prompt sending module 210, which is specifically used to determine the users who perform grayscale release according to a preset grayscale release quantity range, and send prompt information to the determined users, wherein the prompt information is used to prompt the users to update the client version, and each user who updates the client version according to the prompt information is regarded as a target user.

[0095] Optionally, the traffic indicator condition is determined based on a preset range of grayscale release numbers, and the judgment module 206 is specifically used to determine the traffic difference based on the determined traffic indicator and the preset traffic indicator condition, adjust the number of users performing grayscale release based on the traffic difference, send prompt information to the adjusted users so that the users update the client version based on the prompt information, and redetermine the target users based on each user who updates the client version among the users.

[0096] Optionally, the traffic indicator condition is determined based on a preset range of grayscale releases, and the judgment module 206 is specifically used to redetermine the users who perform grayscale releases based on the preset range of grayscale releases, send prompt information to the redetermined users so that the users update the client version according to the prompt information, and redetermine each user among the users who perform client version updates as the target users.

[0097] Optionally, there are multiple business indicators, and the fourth determination module 208 is further configured to determine that the updated client version has a malfunction when any business indicator does not meet a preset business indicator condition.

[0098] Optionally, the fourth determination module 208 is also used to roll back the version of the target user when the business indicator does not meet the preset business indicator condition, and determine the cause of the exception based on the business data of the target user to repair the updated version of the client.

[0099] The present specification also provides a computer-readable storage medium, which stores a computer program, which can be used to execute the above Figure 1 Provides a grayscale release method.

[0100] based on Figure 1 The grayscale publishing method shown in the specification also proposes Figure 3 The schematic structure diagram of the electronic device shown in FIG. Figure 3 At the hardware level, the electronic device includes a processor, an internal bus, a network interface, a memory, and a non-volatile memory, and may also include other hardware required for the business. The processor reads the corresponding computer program from the non-volatile memory into the memory and then runs it to achieve the above Figure 1 The grayscale release method shown.

[0101] Of course, in addition to software implementation, this specification does not exclude other implementation methods, such as logic devices or a combination of software and hardware, etc., that is to say, the executor of the following processing flow is not limited to each logic unit, but can also be hardware or logic devices.

[0102] In the 1990s, improvements to a technology could be clearly distinguished as hardware improvements (for example, improvements to the circuit structure of diodes, transistors, switches, etc.) or software improvements (improvements to the method flow). However, with the development of technology, many improvements to the method flow today can be regarded as direct improvements to the hardware circuit structure. Designers almost always obtain the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that an improvement in a method flow cannot be implemented using a hardware entity module. For example, a programmable logic device (PLD) (such as a field programmable gate array (FPGA)) is such an integrated circuit whose logical function is determined by the user's programming of the device. Designers can "integrate" a digital system on a PLD by programming it themselves, without having to ask a chip manufacturer to design and produce a dedicated integrated circuit chip. Moreover, nowadays, instead of manually making integrated circuit chips, this kind of programming is mostly implemented by "logic compiler" software, which is similar to the software compiler used when developing and writing programs, and the original code before compilation must also be written in a specific programming language, which is called hardware description language (HDL). There is not only one HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language), AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc. The most commonly used ones are VHDL (Very-High-Speed ​​Integrated Circuit Hardware Description Language) and Verilog. Those skilled in the art should also know that it is only necessary to program the method flow slightly in the above-mentioned hardware description languages ​​and program it into the integrated circuit, and then it is easy to obtain the hardware circuit that implements the logic method flow.

[0103] The controller can be implemented in any appropriate manner, for example, the controller can take the form of a microprocessor or processor and a computer-readable medium storing a computer-readable program code (such as software or firmware) that can be executed by the (micro)processor, a logic gate, a switch, an application-specific integrated circuit (ASIC), a programmable logic controller, and an embedded microcontroller. Examples of controllers include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320. The memory controller can also be implemented as part of the control logic of the memory. Those skilled in the art also know that in addition to implementing the controller in a purely computer-readable program code manner, the controller can be implemented in the form of a logic gate, a switch, an application-specific integrated circuit, a programmable logic controller, and an embedded microcontroller by logically programming the method steps. Therefore, this controller can be considered as a hardware component, and the devices included therein for implementing various functions can also be regarded as structures within the hardware component. Or even, the devices for implementing various functions can be regarded as both software modules for implementing the method and structures within the hardware component.

[0104] The systems, devices, modules or units described in the above embodiments may be implemented by computer chips or entities, or by products with certain functions. A typical implementation device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.

[0105] For the convenience of description, the above device is described in various units according to their functions. Of course, when implementing this specification, the functions of each unit can be implemented in the same or multiple software and / or hardware.

[0106] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0107] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0108] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0109] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0110] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0111] The memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. The memory is an example of a computer-readable medium.

[0112] Computer readable media include permanent and non-permanent, removable and non-removable media that can be implemented by any method or technology to store information. Information can be computer readable instructions, data structures, program modules or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disk (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer readable media does not include temporary computer readable media (transitory media), such as modulated data signals and carrier waves.

[0113] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of more restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the elements.

[0114] Those skilled in the art will appreciate that the embodiments of this specification may be provided as methods, systems or computer program products. Therefore, this specification may take the form of a complete hardware embodiment, a complete software embodiment or an embodiment combining software and hardware. Moreover, this specification may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0115] This specification may be described in the general context of computer-executable instructions executed by a computer, such as program modules. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform specific tasks or implement specific abstract data types. This specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices connected through a communication network. In a distributed computing environment, program modules may be located in local and remote computer storage media, including storage devices.

[0116] Each embodiment in this specification is described in a progressive manner, and the same or similar parts between the embodiments can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and the relevant parts can be referred to the partial description of the method embodiment.

[0117] The above description is only an embodiment of the present specification and is not intended to limit the present specification. For those skilled in the art, the present specification may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of the claims of the present specification.

Claims

1. A grayscale release method, characterized in that: include: Determining a service request sent by a target user from the received service requests, wherein the target user is a user used to test the updated client version in the phased release; Determine the traffic data of the target user according to the determined service request of the target user, and determine the service data of the target user according to the service request of the target user and the service information returned by the server; Determine the traffic index of the target user according to the traffic data of the target user, and determine the service index of the target user according to the service data of the target user; When the business indicator meets the preset business indicator condition, determining whether the flow indicator meets the preset flow indicator condition; If so, make sure the updated client version functions properly; If not, redetermine the target user, and redetermine the traffic data and the service data according to the service request sent by the redetermined target user, and redetermine the traffic index and the service index respectively according to the redetermined traffic data and the service data, until the redetermined service index meets the preset service index condition and the redetermined traffic index meets the preset traffic index condition; When the business indicator does not meet the preset business indicator condition, determining that the updated client version has abnormal function; The traffic index condition is determined based on a preset range of quantities for grayscale release; Redefine target users, including: Determine the flow difference according to the determined flow index and the preset flow index condition; According to the traffic difference, adjusting the number of users performing the grayscale release; Sending prompt information to the adjusted user, so that the user updates the client version according to the prompt information, and re-determining the target user according to each user among the users who updates the client version; Alternatively, based on a preset range of the number of grayscale releases, the users for grayscale release are re-determined; Sending prompt information to the re-determined user, so that the user updates the client version according to the prompt information; Each user who updates the client version among the users is re-determined as the target user.

2. The method according to claim 1, characterized in that Before determining the service request sent by the target user, the method further includes: According to the preset range of the number of grayscale releases, determine the users who will perform the grayscale release, and send a prompt message to the determined users, wherein the prompt message is used to prompt the users to update the client version; Each user who updates the client version according to the prompt information is regarded as a target user.

3. The method according to claim 1, characterized in that The business indicator is multiple; The method further comprises: When any business indicator does not meet the preset business indicator conditions, it is determined that the updated client version functions abnormally.

4. The method according to claim 1, characterized in that The method further comprises: When the business indicator does not meet the preset business indicator condition, the version of the target user is rolled back, and the cause of the abnormality is determined according to the business data of the target user to repair the updated version of the client.

5. A grayscale publishing device, characterized in that: include: A first determination module determines a service request sent by a target user from the received service requests, wherein the target user is a user used to test the updated client version in the phased release; A second determination module determines the flow data of the target user according to the determined service request of the target user, and determines the service data of the target user according to the service request of the target user and the service information returned by the server; a third determining module, which determines the traffic index of the target user according to the traffic data of the target user, and determines the service index of the target user according to the service data of the target user; A judgment module, when the business indicator meets the preset business indicator condition, judges whether the flow indicator meets the preset flow indicator condition, if so, determines that the updated client version functions normally, if not, redetermines the target user, and redetermines the flow data and the business data according to the business request sent by the redetermined target user, and redetermines the flow indicator and the business indicator respectively according to the redetermined flow data and the business data, until the redetermined business indicator meets the preset business indicator condition and the redetermined flow indicator meets the preset flow indicator condition; A fourth determination module, when the business indicator does not meet the preset business indicator condition, determines that the updated client version has abnormal function; The traffic index condition is determined based on a preset range of quantities for grayscale release; Redefine target users, including: Determine the flow difference according to the determined flow index and the preset flow index condition; According to the traffic difference, adjusting the number of users performing the grayscale release; Sending prompt information to the adjusted user, so that the user updates the client version according to the prompt information, and re-determining the target user according to each user among the users who updates the client version; Alternatively, based on a preset range of the number of grayscale releases, the users for grayscale release are re-determined; Sending prompt information to the re-determined user, so that the user updates the client version according to the prompt information; Each user who updates the client version among the users is re-determined as the target user.

6. The device according to claim 5, characterized in that The judgment module is used to determine the flow difference according to the determined flow index and the preset flow index condition; and adjust the number of users who perform grayscale release according to the flow difference; Prompt information is sent to the adjusted user, so that the user updates the client version according to the prompt information, and the target user is re-determined according to each user among the users who updates the client version.

7. A computer-readable storage medium, characterized in that: The storage medium stores a computer program, and when the computer program is executed by a processor, the method described in any one of claims 1 to 4 is implemented.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that: When the processor executes the program, the method described in any one of claims 1 to 4 is implemented.