Detailed Description
The principles and spirit of the embodiments of the present specification will be described below with reference to several exemplary implementations. It should be understood that these embodiments are presented merely to enable one skilled in the art to better understand and implement the present description embodiments and are not intended to limit the scope of the present description embodiments in any way. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
It should be noted that, the information and data related to the user in the embodiments of the present disclosure are information and data authorized by the user or fully authorized by the related parties, and the processes of collecting, storing, using, processing, transmitting, providing, disclosing and applying the related data all comply with relevant laws and regulations and standards, take necessary security measures, do not violate the public welcome, and provide corresponding operation entries for the user or the related parties to select authorization or rejection.
Those skilled in the art will appreciate that the implementations of the embodiments of the present description may be implemented as a system, apparatus, method, or computer program product. Accordingly, the present specification embodiment disclosure may be embodied in the form of entirely hardware, entirely software (including firmware, resident software, micro-code, etc.) or in a combination of hardware and software.
While the flow described below includes a number of operations occurring in a particular order, it should be apparent that these processes may include more or fewer operations, which may be performed sequentially or in parallel (e.g., using a parallel processor or a multi-threaded environment).
In one scenario example of the present application, an application gray scale publishing system is provided, as shown in fig. 1, and may include a client 101 and a server 102. The server 102 may send a gray test notification to the client 101 of each feature user in the feature user dataset using a silent push technique, if it is determined that the target application issues a gray version. The client 101 may obtain a target profile of a gray scale version of the target application in response to the gray scale test notification, and switch the target application in the client 101 from a currently used version to the gray scale version according to the target profile.
The client 101 may be a terminal device or software used by a user operation. Specifically, the terminal device may be a terminal device such as a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart watch or other wearable devices, or may be a robot device. Of course, the client 101 may be software that can be executed in the terminal device. Such as application software for system applications, payment applications, browsers, weChat applets, etc.
The server 102 may be a single server or a server cluster, and of course, the functions of the server may be implemented by using a cloud computing technology. The server 102 may be connected to a plurality of terminal devices, or may be a server with a strong information set library, and may send a gray test notification to the client of each feature user by using a silence push technology under the condition that it is determined that the target application issues a gray version, so that the client of each feature user switches the currently used version of the target application to the gray version under the condition that the user does not feel the client, thereby effectively improving the touch rate of the gray version.
Referring to fig. 2, the present embodiment may provide an applied gray scale distribution method. The gray level release method of the application can be used for sending gray level test notification to the client of each characteristic user by utilizing the silence pushing technology under the condition that the target application release gray level version is determined, so that the client of each characteristic user is switched to the gray level version by the current version of the target application under the condition that the user does not feel, and the gray level version touch rate is effectively improved. The gradation release method applied as described above may include the following steps.
And S201, under the condition that the target application release gray version is determined, acquiring a characteristic user data set of the target application, wherein the characteristic user data set comprises attribute data of at least one characteristic user, and the attribute data is used for characterizing the characteristic user.
In this embodiment, in the case where it is determined that the target application issues the grayscale version, the feature user data set of the target application may be acquired. The feature user data set may include attribute data for at least one feature user, the attribute data being operable to characterize the feature user such that a feature user may be uniquely identified by an attribute data. The target application may be an application to be subjected to gray level release, and a specific application name may be determined according to an actual situation, which is not limited in the embodiment of the present specification.
In some embodiments, the attribute data may be a user ID (Identity), and may include at least one of a user name, a user account number, an identification card number, and the like. Of course, the attribute data is not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present specification, and all such modifications are intended to be included within the scope of the embodiments of the present specification as long as the functions and effects of the present invention are the same as or similar to those of the embodiments of the present specification.
In this embodiment, since the number of users of the target application may be relatively large, in consideration of reasons such as a low version used by some of the users or a low frequency of using the target application, the users of the target application may be screened to determine users suitable for gray level distribution of the target application. Furthermore, the user which is screened out and suitable for gray level release of the target application can be used as the characteristic user of the target application.
In this embodiment, the manner of acquiring the characteristic user data set of the target application may include reading from a preset location of a server of the target application. It will be understood that, of course, other possible ways may be used to obtain the sample data set, for example, searching the preset database for the feature user of the target application according to a certain search condition, which may be specifically determined according to the actual situation, which is not limited in the embodiments of the present disclosure.
S202, sending gray test notification to clients of all feature users in the feature user data set by using the silent push technology.
In this embodiment, in the case where it is determined that the target application issues the gray-scale version, the server of the target application may send the gray-scale test notification to the client of each feature user in the feature user dataset using the silent push technique. The gray test notification may be used to notify each client that the target application has released a gray version and may perform version switching, where the gray test notification may include at least one of a name of the target application, an IP address of a server of the target application, a version number of the gray version, and the like, and may specifically be determined according to an actual situation, which is not limited in the embodiment of the present specification.
In this embodiment, an APP (Application) is usually started before entering the foreground, for example, clicking an Application icon or a point push notification to start the Application, and the Application silence push technology may enable the Application to start the Application to the background when receiving silence push. The silence Push technology (Silent Push) is a background remote Push technology, and on the premise that the background executes remote notification, the silence notification content does not comprise any sound reminding and corner mark setting, so that the background content can be updated without disturbing the user. After receiving the notification, the target application in the client can directly run a section of code in a background state without clicking by a user, and can be used for acquiring content update from a server.
In this embodiment, to ensure that the user can receive the silence push in time, a process keep-alive policy may be adopted. Specifically, dual-process protection can be utilized, wherein the dual-process protection has the advantages that two processes monitor each other, and when one process is terminated, the other process can immediately restore the process, so that a user can be ensured to receive silent pushing in time.
And S203, the client of each characteristic user responds to the gray test notification to acquire a target configuration file of the gray version of the target application.
In this embodiment, when the client of each feature user receives the gray test notification, the client may acquire the target configuration file of the gray version of the target application from the server of the target application. The target configuration file may contain specific settings of the gray scale version of the target application, the target configuration file may contain configuration settings read by the common language runtime (e.g., program set binding policies, remote processing objects, etc.), and settings that the target application may read.
In this embodiment, after the developer of the target application writes the target configuration file with the gray version, the developer may manage and maintain the target configuration file through the code repository. Each application may have a corresponding code repository for storing all codes under the application service and their submission history. Meanwhile, each code warehouse also supports a developer to continuously push and pull codes to realize agile development and continuous delivery. Wherein the code repository of the target application may be stored at a preset location of a server of the target application, so that the client may pull the target profile from a remote end (server).
In the prior art, a configuration file needs to be loaded through a back-end API (Application Programming Interface, application program interface) to realize dynamic layout, and a visual operation configuration page of the back-end needs to be additionally developed for operators to use, so that development cost and operator learning cost are increased. In the embodiment, the dynamic layout can be realized by loading the remote configuration file, so that the development workload of the operation related functions of the management background is effectively reduced, the configuration file can be maintained by a front-end developer, and the operation cost is effectively reduced.
In one embodiment, a target configuration file of a gray version of a target application can be constructed based on Flutter technology, so that a complete page can be formed by mutually wrapping, nesting and assembling custom components, patterns can be set through interfaces of different components, and pages in various patterns can be assembled through a basic custom component library. The Flutter is a google mobile UI (User Interface) framework, and can quickly construct a high-quality native User Interface on iOS (proprietary mobile operating systems developed by apple corporation for their mobile devices) and Android (Android). Flutter components are built using a modern responsive framework, the central idea being to build your UI with components (widgets) that describe what they display given their current configuration and state. When the component state changes, the component reconstructs its description, flutter compares the previous description to determine the minimum change required to the underlying rendering tree to transition from the current state to the next state.
In this embodiment, a custom component (Widget) library may be built based on the design concept of Flutter. The custom component library comprises, but is not limited to, 1) custom basic components such as pictures (Image), texts (Text), buttons (Button) and the like, which have single functions and definite use, 2) custom layout style components such as containers (containers), rows (rows), columns (columns), lists (lists) and the like, which can be used for typesetting layout, and components describing occupation, position relation and arrangement modes, and 3) custom combination type components, wherein the basic components and the layout style components are assembled and combined according to own business requirements.
In this embodiment, a custom attribute setting interface may be reserved for a custom component, for example, interfaces such as a width, a height, a rounded angle, an outer distance, an inner distance, an arrangement mode, an alignment mode, a background picture, text content, an icon style, a picture style, a button click effect, a click event monitor, and the like may be reserved, and by changing a parameter transmitted by the interface, a display effect and service processing logic of the custom component may be flexibly adjusted.
In one embodiment, the target configuration file may be XML (Extensible Markup Language ), which may satisfy the description of the layout and the setting of the custom attribute, and has a natural advantage for the description Flutter that needs a large number of components to be wrapped and nested with each other to realize the page, which is easy to read, simple to maintain, and efficient to parse. The package, nesting and combination relation of the custom component can be described in the XML configuration file, the custom attribute of the component is set, the related parameters of the component are added, the service logic processing mode and the like.
In this embodiment, a developer may update and maintain the target configuration file directly through the code repository, and upload the configuration file to a preset location of the server when the service is changed, the production is put on line, and the gray level is released.
S204, switching the target application in the client of the characteristic user from the currently used version to the gray-scale version according to the target configuration file.
In this embodiment, the target application in the client of the feature user may be switched from the currently used version to the gray-scale version according to the target profile. The currently used version of the target application may be a version of the target application currently used by the client of the feature user.
In this embodiment, the transition to the grayscale version of the target application may be made without the user's perception. Even if the user is using the application, after the downloading of the target configuration file is completed, the target configuration file of the gray level version is loaded when the user browses the switching page, and the target configuration file is naturally and unobserved to be transited to the gray level version in the next new page.
Compared with the gray level release scheme in the prior art, the embodiment of the specification is lighter, the construction cost is low, the operation and maintenance are simpler, more workload is placed in front-end engineering, the rear end only needs to determine the characteristic user data set of the target application and push the gray level notification, other works are completed by the front end, and the configuration file is written by the developer of the front end, so that the construction cost and complexity of the rear end are effectively reduced.
In one embodiment, before the feature user data set of the target application is acquired, the method can further comprise the steps of acquiring historical behavior data of a plurality of users of the target application, and determining at least one feature user according to preset screening conditions according to the historical behavior data of the plurality of users. Further, attribute data of at least one feature user is obtained, and a feature user data set of the target application is generated according to the attribute data of the at least one feature user.
In this embodiment, the target application may have a plurality of users, and in consideration of reasons such as a lower version used by some of the users or a lower frequency of using the target application, the users of the target application may be screened to determine users suitable for gray-scale distribution of the target application. Thus, historical behavior data of a plurality of users of the target application can be acquired. The historical behavior data may be recorded behavior data for a user historical use target application, and the historical behavior data of the plurality of users may be stored in a preset database of a server of the target application so as to be timely acquired. The historical behavior data at least comprises the time of the last updated version of the user, version information used by the user, the frequency of using the target application by the user, preference habits of the user, average daily duration of using the target application by the user and the like. Of course, the historical behavior data is not limited to the above examples, and other modifications thereof are possible by those skilled in the art, given the benefit of the teachings of the present embodiments, so long as the functions and effects achieved are the same as, or similar to, those of the present embodiments, and are intended to be covered by the scope of the present embodiments.
In this embodiment, since the historical behavior data of the user may represent the activity and participation of the user in using the target application, at least one characteristic user may be determined according to the historical behavior data of a plurality of users and a preset screening condition. The preset screening conditions can be set in advance according to the service requirements of the gray version of the target application, for example, (1) a version base line is defined, users at or above the set application version base line can be defined as characteristic users, (2) secondary definition is carried out through liveness based on users meeting the requirement of the version base line, users with higher liveness are preferentially ensured to be screened as characteristic users, and (3) third definition is carried out through user participation based on users meeting the requirement of liveness, and users with high participation degree are preferentially ensured to be screened as characteristic users.
In this embodiment, the screening condition of the feature user may be further increased according to the specific service requirement of the gray-scale version of the target application, so as to further delineate finer feature user groups. For example, the gray version of the function page is an operation promotion activity page of ancient costume dramas, and the preset filtering condition can be set as a user who prefers ancient costume episodes. In some embodiments, a plurality of screening conditions may be set, and different weights may be given to the screening conditions, so that the feature users may be screened out through weighting operation on the screening conditions. Of course, the preset screening conditions are not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present disclosure, and all the functions and effects achieved by the present disclosure should be covered within the scope of the embodiments of the present disclosure as long as they are the same as or similar to the embodiments of the present disclosure.
In one embodiment, obtaining the target configuration file of the gray scale version of the target application may include loading the target configuration file from a server of the target application, parsing the target configuration file if it is determined that the target configuration file is successfully loaded, and reloading the target configuration file from the server of the target application if it is determined that the target configuration file is failed to be loaded.
In this embodiment, the dynamic layout may be implemented by loading a remote configuration file, and after receiving the silence notification, the client of the feature user may directly start a background download service of the client, and download the target configuration file corresponding to the gray version from the server of the target application. Therefore, the client can analyze the configuration file, render the page and switch to the gray release version of the target application under the condition that the user does not feel.
In this embodiment, it may be determined whether the client succeeds in loading the target configuration file, if so, the loaded target configuration file may be directly parsed, and if not, the target configuration file needs to be reloaded until the loading is successful. It will be understood, of course, that if the number of loading failures exceeds a preset number (e.g., 8, 9, etc.), then this may be fed back to the corresponding maintenance personnel for processing. The specific determination may be determined according to the actual situation, and the embodiment of the present specification is not limited thereto.
In one embodiment, after the target application in the client of the feature user is switched from the currently used version to the gray scale version, the method may further include acquiring feedback information of the gray scale version of the target application and determining a quality level of the gray scale version of the target application based on the feedback information of the gray scale version of the target application. In case it is determined that the quality level of the gray scale version of the target application is below a preset threshold, the target application in the client of the feature user may be switched from the gray scale version to the currently used version.
In this embodiment, after the target application in the client of the feature user is switched from the currently used version to the gray-scale version, feedback information of the gray-scale version of the target application may be further acquired, so that a developer may perfect and improve the gray-scale version with respect to the feedback information. The feedback information may include at least one of opinion about satisfaction of the user using the gray version, on-line collapse of the gray version collected by the probe, white screen, and problems of compatibility and stability of application performance of technical layers such as katon.
In the embodiment, the collection mode of the feedback information may include (1) setting an opinion feedback module in a gray scale version of the target application, wherein the opinion of the problem occurring in the use process of the user may be filled in and submitted by the opinion feedback module, (2) collecting the public opinion of the problem through online customer service (including a robot, a manual customer service, etc.), and (3) collecting an error stack and an operation log in the operation of the application through implantation of a monitoring probe.
In this embodiment, the quality level of the gray-scale version of the target application may be determined according to feedback information based on the gray-scale version of the target application. The quality level may be classified into three levels of high, medium and low, or may be configured into one level, two levels, three levels, etc., and it will be understood that the quality level may be set in any other possible manner, and the embodiment of the present disclosure is not limited to this specific one.
In this embodiment, the quality level may be determined according to the number of collected bug (bug or fault) questions of the user on the gray-scale version and the number of questions of the gray-scale version collected by the probe on the technical level. How the quality level is lower than the preset threshold, namely, the public opinion discussion of the gray-scale version is negative, the user acceptance of the gray-scale version is not high, the quality of the gray-scale version is not expected, the gray-scale version can not be comprehensively released as a formal version at present, and developers still need to improve and perfect the gray-scale version. Thus, in case it is determined that the quality level of the gray scale version of the target application is below a preset threshold, the target application in the client of the feature user may be switched from the gray scale version to the currently used version.
In this embodiment, the preset threshold may be determined according to a quality level setting manner, for example, the quality level is classified into three levels of high, medium and low, the preset threshold is "high", the quality level is set to one level, two levels, three levels and four levels, and the preset threshold is set to one level. Of course, the preset threshold is not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present disclosure, and all such modifications are intended to be included within the scope of the embodiments of the present disclosure as long as the functions and effects of the present disclosure are the same or similar to those of the embodiments of the present disclosure.
In this embodiment, when it is determined that the quality level of the gray-scale version of the target application is not lower than the preset threshold, it is explained that the user acceptance of the gray-scale version is high, the gray-scale version quality meets the expectations, and the version rollback operation is not required to be performed. The gray version can be fully released as a formal version at present, for example, the gray version can be formally put on shelf in an application mall, and the gray version can be specifically determined according to actual conditions, and the embodiment of the specification is not limited to the gray version.
In one embodiment, in the case that the quality level of the gray scale version of the target application is determined to be lower than a preset threshold, switching the target application in the client of the feature user from the gray scale version to the currently used version can comprise sending a version rollback notification to the client of each feature user in the feature user data set by utilizing a silent push technique in the case that the quality level of the gray scale version of the target application is determined to be lower than the preset threshold. Further, the client of each feature user responds to the version rollback notification, obtains the configuration file of the currently used version, and switches the target application in the client of the feature user from the gray version to the currently used version according to the configuration file of the currently used version.
In this embodiment, when the server of the target application determines that the quality level of the gray version of the target application is lower than the preset threshold, it indicates that the user acceptance of the gray version is not high and the gray version quality does not meet the expectations, and at this time, a version rollback notification may be sent to the clients of each feature user in the feature user dataset by using the silent push technique. And under the condition that the client of each characteristic user receives the version rollback notification, starting a background downloading service of the client, and downloading a configuration file corresponding to the current version from a server of the target application. Therefore, the client can analyze the configuration file corresponding to the current version, further render the page, and switch from the gray level version to the current version used by each characteristic user under the condition that the user does not feel.
In the embodiment, the version rollback of the gray release can be triggered by silence pushing, the operation principle is the same as that of the gray release, the same operation logic can be reused, the difficulty and the realization cost of the version rollback are effectively reduced, the gray release fault tolerance is improved, the repeated downloading and installation times of a user are reduced, and the user experience is improved.
In one embodiment, before the target configuration file of the gray scale version of the target application is obtained, the method can further comprise the steps of constructing the target configuration file of the gray scale version of the target application based on Flutter technology, and uploading the target configuration file to a preset position of a server of the target application.
In this embodiment, a developer of the target application may construct a target configuration file of a gray scale version of the target application based on Flutter technologies, and may upload the target configuration file to a preset location of a server of the target application, so that the client may load the remote configuration file. The Flutter is a set of cross-platform front end frames, and a set of codes can be suitable for both Android and iOS, so that development cost is effectively reduced, and application range of a platform is also improved.
From the above description, it can be seen that the technical effect achieved by the embodiments of the present specification is that, when it is determined that the target application issues a gray scale version, a feature user data set of the target application may be obtained, where the feature user data set includes attribute data of at least one feature user, and the attribute data may be used to characterize the feature user. Further, the silence pushing technology can be utilized to send gray test notification to clients of all feature users in the feature user data set, and the client receiving the gray test notification can start a background downloading service to obtain a target configuration file of a gray version of the target application. Therefore, the target application in the client of the characteristic user can be switched from the currently used version to the gray version according to the acquired target configuration file under the condition that the user does not feel, the repeated downloading and installing times of the user are effectively reduced, and the user experience is improved.
Based on the same inventive concept, the embodiments of the present specification also provide an applied gray scale distribution device, such as the following embodiments. Since the principle of solving the problem of the applied gray scale release device is similar to that of the applied gray scale release method, the implementation of the applied gray scale release device can refer to the implementation of the applied gray scale release method, and the repetition is not repeated. As used below, the term "unit" or "module" may be a combination of software and/or hardware that implements the intended function. While the means described in the following embodiments are preferably implemented in software, implementation in hardware, or a combination of software and hardware, is also possible and contemplated. Fig. 3 is a block diagram of a configuration of a gray scale distribution device applied to the embodiment of the present disclosure, and as shown in fig. 3, the gray scale distribution device may include a first acquisition module 301, a transmission module 302, a second acquisition module 303, and a version switching module 304, and the configuration will be described below.
The first obtaining module 301 may be configured to obtain a feature user data set of the target application when it is determined that the target application issues a gray scale version, where the feature user data set includes attribute data of at least one feature user, and the attribute data is used to characterize the feature user;
The sending module 302 may be configured to send a gray test notification to a client of each feature user in the feature user dataset by using a silent push technique;
A second obtaining module 303, configured to obtain a target configuration file of a gray scale version of the target application by using a client of each feature user in response to the gray scale test notification;
the version switching module 304 may be configured to switch the target application in the client of the feature user from the currently used version to the gray-scale version according to the target configuration file.
Referring to fig. 4, an embodiment of the present disclosure provides an applied gray scale publishing method. The gray level distribution method of the application can be applied to a server. The gray scale distribution method of the application may include the following steps.
Step S401, a server of a target application obtains a characteristic user data set of the target application under the condition that the target application releases a gray level version, wherein the characteristic user data set comprises attribute data of at least one characteristic user, and the attribute data is used for representing the characteristic user.
In this embodiment, in the case where it is determined that the target application issues the grayscale version, the feature user data set of the target application may be acquired. The feature user data set may include attribute data for at least one feature user, the attribute data being operable to characterize the feature user such that a feature user may be uniquely identified by an attribute data. The target application may be an application to be subjected to gray level release, and a specific application name may be determined according to an actual situation, which is not limited in the embodiment of the present specification.
In some embodiments, the attribute data may be a user ID (Identity), and may include at least one of a user name, a user account number, an identification card number, and the like. Of course, the attribute data is not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present specification, and all such modifications are intended to be included within the scope of the embodiments of the present specification as long as the functions and effects of the present invention are the same as or similar to those of the embodiments of the present specification.
In this embodiment, since the number of users of the target application may be relatively large, in consideration of reasons such as a low version used by some of the users or a low frequency of using the target application, the users of the target application may be screened to determine users suitable for gray level distribution of the target application. Furthermore, the user which is screened out and suitable for gray level release of the target application can be used as the characteristic user of the target application.
In this embodiment, the manner of acquiring the characteristic user data set of the target application may include reading from a preset location of a server of the target application. It will be understood that, of course, other possible ways may be used to obtain the sample data set, for example, searching the preset database for the feature user of the target application according to a certain search condition, which may be specifically determined according to the actual situation, which is not limited in the embodiments of the present disclosure.
And step S402, sending gray test notification to the clients of all feature users in the feature user data set by using the silent push technology.
In this embodiment, in the case where it is determined that the target application issues the gray-scale version, the server of the target application may send the gray-scale test notification to the client of each feature user in the feature user dataset using the silent push technique. The gray test notification may be used to notify each client that the target application has released a gray version and may perform version switching, where the gray test notification may include at least one of a name of the target application, an IP address of a server of the target application, a version number of the gray version, and the like, and may specifically be determined according to an actual situation, which is not limited in the embodiment of the present specification.
In this embodiment, an APP (Application) is usually started before entering the foreground, for example, clicking an Application icon or a point push notification to start the Application, and the Application silence push technology may enable the Application to start the Application to the background when receiving silence push. The silence Push technology (Silent Push) is a background remote Push technology, and on the premise that the background executes remote notification, the silence notification content does not comprise any sound reminding and corner mark setting, so that the background content can be updated without disturbing the user. After receiving the notification, the target application in the client can directly run a section of code in a background state without clicking by a user, and can be used for acquiring content update from a server.
In one embodiment, after sending the gray test notification to the client of each feature user in the feature user dataset by using the silent push technique, the method may further include obtaining feedback information of the gray version of the target application and determining a quality level of the gray version of the target application based on the feedback information of the gray version of the target application. In the event that the quality level of the gray scale version of the target application is determined to be less than the preset threshold, a version rollback notification may be sent to the clients of the individual feature users in the feature user dataset using a silent push technique.
In this embodiment, after the target application in the client of the feature user is switched from the currently used version to the gray-scale version, feedback information of the gray-scale version of the target application may be further acquired, so that a developer may perfect and improve the gray-scale version with respect to the feedback information. The feedback information may include at least one of opinion about satisfaction of the user using the gray version, on-line collapse of the gray version collected by the probe, white screen, and problems of compatibility and stability of application performance of technical layers such as katon.
In this embodiment, the quality level of the gray-scale version of the target application may be determined according to feedback information based on the gray-scale version of the target application. The quality level may be classified into three levels of high, medium and low, or may be configured into one level, two levels, three levels, etc., and it will be understood that the quality level may be set in any other possible manner, and the embodiment of the present disclosure is not limited to this specific one.
In this embodiment, the quality level may be determined according to the number of collected bug (bug or fault) questions of the user on the gray-scale version and the number of questions of the gray-scale version collected by the probe on the technical level. How the quality level is lower than the preset threshold, that is, the public opinion discussion of the gray-scale version is negative, the user acceptance of the gray-scale version is not high, the quality of the gray-scale version is not expected, the gray-scale version can not be fully released at present, and the developer still needs to improve and perfect the gray-scale version. Thus, a version rollback notification may be sent to clients of individual feature users in the feature user dataset using silent push techniques.
In this embodiment, the preset threshold may be determined according to a quality level setting manner, for example, the quality level is classified into three levels of high, medium and low, the preset threshold is "high", the quality level is set to one level, two levels, three levels and four levels, and the preset threshold is set to one level. Of course, the preset threshold is not limited to the above examples, and other modifications may be made by those skilled in the art in light of the technical spirit of the embodiments of the present disclosure, and all such modifications are intended to be included within the scope of the embodiments of the present disclosure as long as the functions and effects of the present disclosure are the same or similar to those of the embodiments of the present disclosure.
Referring to fig. 5, the embodiment of the present disclosure further provides a server, which includes an obtaining module 501 and a sending module 502.
The acquisition module 501 can be used for acquiring a characteristic user data set of the target application under the condition that a server of the target application determines that the target application releases a gray version, wherein the characteristic user data set comprises attribute data of at least one characteristic user, and the attribute data is used for characterizing the characteristic user;
The sending module 502 may be configured to send a gray test notification to a client of each feature user in the feature user dataset using a silent push technique.
The functions and effects achieved by the server provided in this embodiment can be explained with reference to other embodiments.
Referring to fig. 6, an embodiment of the present disclosure provides an applied gray scale distribution method. The gray level release method of the application can be applied to a client. The gray scale distribution method of the application may include the following steps.
Step S601, a client of a characteristic user of a target application responds to a gray test notification to obtain a target configuration file of a gray version of the target application, wherein the gray test notification is sent to the characteristic user of the target application by using a silent pushing technology under the condition that a server of the target application determines that the target application releases the gray version.
In this embodiment, when the client of each feature user receives the gray test notification, the client may acquire the target configuration file of the gray version of the target application from the server of the target application. The target configuration file may contain specific settings of the gray scale version of the target application, the target configuration file may contain configuration settings read by the common language runtime (e.g., program set binding policies, remote processing objects, etc.), and settings that the target application may read.
In this embodiment, after the developer of the target application writes the target configuration file with the gray version, the developer may manage and maintain the target configuration file through the code repository. Each application may have a corresponding code repository for storing all codes under the application service and their submission history. Meanwhile, each code warehouse also supports a developer to continuously push and pull codes to realize agile development and continuous delivery. Wherein the code repository of the target application may be stored at a preset location of a server of the target application, so that the client may pull the target profile from a remote end (server).
In the prior art, a configuration file needs to be loaded through a back-end API (Application Programming Interface, application program interface) to realize dynamic layout, and a visual operation configuration page of the back-end needs to be additionally developed for operators to use, so that development cost and operator learning cost are increased. In the embodiment, the dynamic layout can be realized by loading the remote configuration file, so that the development workload of the operation related functions of the management background is effectively reduced, the configuration file can be maintained by a front-end developer, and the operation cost is effectively reduced.
In one embodiment, a target configuration file of a gray version of a target application can be constructed based on Flutter technology, so that a complete page can be formed by mutually wrapping, nesting and assembling custom components, patterns can be set through interfaces of different components, and pages in various patterns can be assembled through a basic custom component library. The Flutter is a google mobile UI (User Interface) framework, and can quickly construct a high-quality native User Interface on iOS (proprietary mobile operating systems developed by apple corporation for their mobile devices) and Android (Android). Flutter components are built using a modern responsive framework, the central idea being to build your UI with components (widgets) that describe what they display given their current configuration and state. When the component state changes, the component reconstructs its description, flutter compares the previous description to determine the minimum change required to the underlying rendering tree to transition from the current state to the next state.
In this embodiment, a custom component (Widget) library may be built based on the design concept of Flutter. The custom component library comprises, but is not limited to, 1) custom basic components such as pictures (Image), texts (Text), buttons (Button) and the like, which have single functions and definite use, 2) custom layout style components such as containers (containers), rows (rows), columns (columns), lists (lists) and the like, which can be used for typesetting layout, and components describing occupation, position relation and arrangement modes, and 3) custom combination type components, wherein the basic components and the layout style components are assembled and combined according to own business requirements.
In this embodiment, a custom attribute setting interface may be reserved for a custom component, for example, interfaces such as a width, a height, a rounded angle, an outer distance, an inner distance, an arrangement mode, an alignment mode, a background picture, text content, an icon style, a picture style, a button click effect, a click event monitor, and the like may be reserved, and by changing a parameter transmitted by the interface, a display effect and service processing logic of the custom component may be flexibly adjusted.
In one embodiment, the target configuration file may be XML (Extensible Markup Language ), which may satisfy the description of the layout and the setting of the custom attribute, and has a natural advantage for the description Flutter that needs a large number of components to be wrapped and nested with each other to realize the page, which is easy to read, simple to maintain, and efficient to parse. The package, nesting and combination relation of the custom component can be described in the XML configuration file, the custom attribute of the component is set, the related parameters of the component are added, the service logic processing mode and the like.
In this embodiment, a developer may update and maintain the target configuration file directly through the code repository, and upload the configuration file to a preset location of the server when the service is changed, the production is put on line, and the gray level is released.
In this embodiment, in the case where it is determined that the target application issues the gray-scale version, the server of the target application may send the gray-scale test notification to the client of each feature user in the feature user dataset using the silent push technique. The gray test notification may be used to notify each client that the target application has released a gray version and may perform version switching, where the gray test notification may include at least one of a name of the target application, an IP address of a server of the target application, a version number of the gray version, and the like, and may specifically be determined according to an actual situation, which is not limited in the embodiment of the present specification.
Step S602, switching the target application in the client of the characteristic user from the currently used version to the gray-scale version according to the target configuration file.
In this embodiment, the target application in the client of the feature user may be switched from the currently used version to the gray-scale version according to the target profile. The currently used version of the target application may be a version of the target application currently used by the client of the feature user.
In this embodiment, the transition to the grayscale version of the target application may be made without the user's perception. Even if the user is using the application, after the downloading of the target configuration file is completed, the target configuration file of the gray level version is loaded when the user browses the switching page, and the target configuration file is naturally and unobserved to be transited to the gray level version in the next new page.
Compared with the gray level release scheme in the prior art, the embodiment of the specification is lighter, the construction cost is low, the operation and maintenance are simpler, more workload is placed in front-end engineering, the rear end only needs to determine the characteristic user data set of the target application and push the gray level notification, other works are completed by the front end, and the configuration file is written by the developer of the front end, so that the construction cost and complexity of the rear end are effectively reduced.
In one embodiment, after the target application in the client of the feature user is switched from the currently used version to the gray-scale version, the method can further comprise the step that the client of the feature user acquires the configuration file of the currently used version under the condition that the client of the feature user receives a version rollback notification sent by the server of the target application. Further, the target application in the client of the feature user may be switched from the gray scale version to the currently used version according to the configuration file of the currently used version.
In this embodiment, when the server of the target application determines that the quality level of the gray version of the target application is lower than the preset threshold, it indicates that the user acceptance of the gray version is not high and the gray version quality does not meet the expectations, and at this time, a version rollback notification may be sent to the clients of each feature user in the feature user dataset by using the silent push technique. And under the condition that the client of each characteristic user receives the version rollback notification, starting a background downloading service of the client, and downloading a configuration file corresponding to the current version from a server of the target application. Therefore, the client can analyze the configuration file corresponding to the current version, further render the page, and switch from the gray level version to the current version used by each characteristic user under the condition that the user does not feel.
In the embodiment, the version rollback of the gray release can be triggered by silence pushing, the operation principle is the same as that of the gray release, the same operation logic can be reused, the difficulty and the realization cost of the version rollback are effectively reduced, the gray release fault tolerance is improved, the repeated downloading and installation times of a user are reduced, and the user experience is improved.
Referring to fig. 7, the embodiment of the present disclosure further provides a client, which includes an obtaining module 701 and a version switching module 702.
The acquisition module 701 is configured to be used for acquiring a target configuration file of a gray version of a target application in response to a gray test notification by a client of a feature user of the target application, where the gray test notification is sent to the feature user of the target application by using a silent push technology when a server of the target application determines that the target application issues the gray version;
the version switching module 702 may be configured to switch a target application in a client of the feature user from a currently used version to a grayscale version according to the target configuration file.
The functions and effects of the client provided in this embodiment may be explained with reference to other embodiments.
The embodiment of the present disclosure further provides an electronic device, which may specifically refer to a schematic structural diagram of an electronic device based on the gray level distribution method of the application provided in the embodiment of the present disclosure shown in fig. 8, where the electronic device may specifically include an input device 81, a processor 82, and a memory 83. Wherein the input device 81 may be used in particular for inputting a characteristic user data set of a target application. The processor 82 may be specifically configured to obtain a feature user data set of the target application in the case that it is determined that the target application issues a gray scale version, where the feature user data set includes attribute data of at least one feature user, the attribute data is used to characterize the feature user, send gray scale test notifications to clients of each feature user in the feature user data set by using a silent push technique, the clients of each feature user obtain a target configuration file of the gray scale version of the target application in response to the gray scale test notifications, and switch the target application in the clients of the feature user from a currently used version to the gray scale version according to the target configuration file. The memory 83 may be used to store parameters such as a target profile.
In this embodiment, the input device may specifically be one of the main means for exchanging information between the user and the computer system. Input devices may include a keyboard, mouse, camera, scanner, light pen, handwriting input pad, voice input device, etc., for inputting raw data and programs for processing these numbers into a computer. The input device may also obtain data transmitted from other modules, units, and devices. The processor may be implemented in any suitable manner. For example, a processor may take the form of, for example, a microprocessor or processor, and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, application SPECIFIC INTEGRATED Circuits (ASICs), programmable logic controllers, and embedded microcontrollers, among others. The memory may in particular be a memory device for storing information in modern information technology. The memory may comprise multiple levels, in a digital system, the memory may be any memory as long as it can hold binary data, in an integrated circuit, a circuit with a memory function without a physical form, such as RAM, FIFO, etc., and in a system, a memory device with a physical form, such as a memory bank, TF card, etc.
In this embodiment, the specific functions and effects of the electronic device may be explained in comparison with other embodiments, which are not described herein.
The embodiment of the specification also provides a computer storage medium of the gray level release method based on the application, wherein the computer storage medium stores computer program instructions, when the computer program instructions are executed, the computer program instructions can be used for obtaining a characteristic user data set of a target application under the condition that the release gray level version of the target application is determined, the characteristic user data set comprises attribute data of at least one characteristic user, the attribute data are used for representing the characteristic user, a gray level test notification is sent to clients of all the characteristic users in the characteristic user data set by utilizing a silent pushing technology, the clients of all the characteristic users respond to the gray level test notification to obtain a target configuration file of the gray level version of the target application, and the target application in the clients of the characteristic users is switched from a currently used version to the gray level version according to the target configuration file.
In the present embodiment, the storage medium includes, but is not limited to, a random access Memory (Random Access Memory, RAM), a Read-Only Memory (ROM), a Cache (Cache), a hard disk (HARD DISK DRIVE, HDD), or a Memory Card (Memory Card). The memory may be used to store computer program instructions. The network communication unit may be an interface for performing network connection communication, which is set in accordance with a standard prescribed by a communication protocol.
In this embodiment, the functions and effects of the program instructions stored in the computer storage medium may be explained in comparison with other embodiments, and are not described herein.
It will be apparent to those skilled in the art that the modules or steps of the embodiments described above may be implemented in a general purpose computing device, they may be concentrated on a single computing device, or distributed across a network of computing devices, they may alternatively be implemented in program code executable by computing devices, so that they may be stored in a storage device for execution by computing devices, and in some cases, the steps shown or described may be performed in a different order than herein, or they may be separately fabricated into individual integrated circuit modules, or multiple modules or steps within them may be fabricated into a single integrated circuit module. Thus, embodiments of the present specification are not limited to any specific combination of hardware and software.
Although the present description provides the method operational steps as described in the above embodiments or flowcharts, more or fewer operational steps may be included in the method, either on a routine or non-inventive basis. In steps where there is logically no necessary causal relationship, the execution order of the steps is not limited to the execution order provided in the embodiments of the present specification. The described methods, when performed in an actual apparatus or an end product, may be performed sequentially or in parallel (e.g., in a parallel processor or multithreaded environment) as shown in the embodiments or figures.
It is to be understood that the above description is intended to be illustrative, and not restrictive. Many embodiments and many applications other than the examples provided will be apparent to those of skill in the art upon reading the above description. The scope of the embodiments of the specification should, therefore, be determined not with reference to the above description, but instead should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.
The above description is only of the preferred embodiments of the present embodiments and is not intended to limit the present embodiments, and various modifications and variations can be made to the present embodiments by those skilled in the art. Any modification, equivalent replacement, improvement, or the like made within the spirit and principles of the embodiments of the present specification should be included in the protection scope of the embodiments of the present specification.