Gray release method, device, equipment and readable storage medium

By judging and allocating the grayscale or production resources of the H5 page based on user identity identification data, the problem of lack of a wide coverage of the H5 grayscale release scheme in the prior art is solved, and a cross-project grayscale release process is realized, which is versatile and flexible.

CN111538507BActive Publication Date: 2025-06-17CHINA PING AN LIFE INSURANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202010237280.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-03-30
Publication Date
2025-06-17
Estimated Expiration
2040-03-30

AI Technical Summary

Technical Problem

The lack of a grayscale release solution for H5 in the prior art is unable to meet the needs of H5 cross-project use.

Method used

By receiving a request to access the main entrance of the H5 page, it is determined whether it is a grayscale user based on the user's identity data. If it is a grayscale user, grayscale resources will be allocated, otherwise production resources will be allocated. The grayscale resource includes the resources that are packaged and decompressed after H5 grayscale code uploaded through the first code branch, and the production resource includes the resources that are packaged and decompressed after H5 production code uploaded through the second code branch.

Benefits of technology

The grayscale release process across projects is realized, and the grayscale release can be carried out according to the front-end project, which is versatile and flexible, reducing maintenance costs and improving maintainability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111538507B_ABST
    Figure CN111538507B_ABST
Patent Text Reader

Abstract

An embodiment of the present application discloses a gray release method, device, equipment, and readable storage medium. The gray release method includes: receiving a request to access the main entry of the H5 page, and when it is determined according to the identity identification data carried in the request to access the main entry of the H5 page that the user is a gray user, allocating gray resources in response to the request to access the main entry of the H5 page; when it is determined according to the identity identification data that the user is a non-gray user, allocating production resources in response to the request to access the main entry of the H5 page; wherein, the gray resources include the resources that are unpacked and deployed after being packaged from the H5 gray code uploaded through the first code branch; the production resources include the resources that are unpacked and deployed after being packaged from the H5 production code uploaded through the second code branch; the first code branch and the second code branch are at the same level. By adopting the embodiment of the present application, a gray release process across projects can be realized, which is not limited to a specific project and has universality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and particularly to a method, device, equipment, and readable storage medium for gray release. Background Art

[0002] Gray release means that before the official release of a product, the product is first pushed to a part of the target users for use. By their usage results, some deficiencies of the product can be found, so as to achieve the purpose of improving the product and reducing the risk of the official release of the version.

[0003] In the prior art, traditional gray release solutions are implemented in the following two ways: 1. In the code resources, that is, in a set of online environments, switches are made in the code, and different logics are used for different users; 2. In the access layer, multiple (isolated) online environments, and the access layer forwards different users to different environments.

[0004] H5 is a development technology for mobile web pages or mobile pages. The application programs of mobile terminals can borrow H5 to develop the web pages or pages in the application programs. However, the above traditional gray release solutions mainly target terminals such as the backend and the client, and there are few gray release solutions for H5. Even if there are publicly disclosed gray release solutions for H5 in the prior art, the coverage is not wide enough to meet the needs of cross-project use of H5. Summary of the Invention

[0005] Embodiments of this application provide a method, device, and computer-readable storage medium for gray release.

[0006] In a first aspect, embodiments of this application provide a method for gray release, including:

[0007] Receiving a request to access the main entry of the H5 page, where the request to access the main entry of the H5 page carries identity identification data of the user; in the case where it is determined according to the identity identification data that the user is a gray user, allocating gray resources in response to the request to access the main entry of the H5 page; in the case where it is determined according to the identity identification data that the user is a non-gray user, allocating production resources in response to the request to access the main entry of the H5 page; where the gray resources include resources deployed after decompressing the packaged H5 gray code uploaded through the first code branch; the production resources include resources deployed after decompressing the packaged H5 production code uploaded through the second code branch; the first code branch and the second code branch are at the same level.

[0008] Based on the first aspect, in one possible implementation, allocating grayscale resources in response to the request to access the main entry of the H5 page includes: sending a resource acquisition request carrying a first grayscale identifier to a storage server, where the first grayscale identifier is used to indicate resolving the address of the main entry of the H5 page to grayscale resources; and receiving the grayscale resources sent by the storage server.

[0009] Based on the first aspect, in one possible implementation, before receiving the request to access the main entry of the H5 page, the method further includes: statistically analyzing the activity of users clicking on H5 content, and performing a screening process on users based on the activity; where users with activity greater than or equal to a threshold are grayscale users, and users with activity less than the threshold are production users.

[0010] Based on the first aspect, in one possible implementation, after allocating grayscale resources in response to the request to access the main entry of the H5 page, it further includes: receiving a resource pull request carrying a second grayscale identifier; the second grayscale identifier is used to indicate pulling static resources; if the static resources exist in the content delivery network, then in response to the resource pull request, extracting the static resources from the content delivery network.

[0011] In a second aspect, an embodiment of the present application provides a grayscale release method, the method including: constructing a first code branch for uploading H5 grayscale code; constructing a second code branch for uploading H5 production code; packaging the H5 grayscale code under the first code branch to generate an H5 grayscale code compressed package; packaging the H5 production code under the second code branch to generate an H5 production code compressed package; decompressing and deploying the H5 grayscale code compressed package under the first code branch to obtain grayscale resources; decompressing and deploying the H5 production code compressed package under the second code branch to obtain production resources; where the first code branch and the second code branch are at the same level.

[0012] Based on the second aspect, in one possible implementation, when packaging the H5 grayscale code under the first code branch, the method further includes: adding a third grayscale identifier to the H5 grayscale code under the first code branch, where the third grayscale identifier is used to distinguish the H5 grayscale code compressed package and the H5 production code compressed package.

[0013] Based on the second aspect, in one possible implementation, the method further includes: after receiving a resource acquisition request carrying a first grayscale identifier, responding to the resource acquisition request by sending the grayscale resources.

[0014] In a third aspect, an embodiment of the present application provides a gray release device, which includes:

[0015] A receiving device that receives a request to access the main entry of the H5 page, and the request to access the main entry of the H5 page carries identity identification data of a user;

[0016] A first response device, which is configured to allocate gray resources in response to the request to access the main entry of the H5 page when it is determined according to the identity identification data that the user is a gray user;

[0017] A second response device, which is configured to allocate gray resources in response to the request to access the main entry of the H5 page when it is determined according to the identity identification data that the user is a gray user;

[0018] Wherein, the gray resources include resources that are unpacked and deployed after the H5 gray code uploaded through the first code branch is packaged; the production resources include resources that are unpacked and deployed after the H5 production code uploaded through the second code branch is packaged; the first code branch and the second code branch are at the same level.

[0019] In a fourth aspect, an embodiment of the present application provides a gray release device, which includes:

[0020] A construction device, which is configured to construct a first code branch for uploading H5 gray code; and construct a second code branch for uploading H5 production code;

[0021] A packaging device, which is configured to package the H5 gray code under the first code branch to generate an H5 gray code compressed package; and package the H5 production code under the second code branch to generate an H5 production code compressed package;

[0022] An unpacking and deployment device, which is configured to unpack and deploy the H5 gray code compressed package under the first code branch to obtain gray resources; and unpack and deploy the H5 production code compressed package under the second code branch to obtain the production resources

[0023] Wherein, the first code branch and the second code branch are at the same level.

[0024] In a fifth aspect, an embodiment of the present application provides a gray release device, which includes a processor, a memory, and a communication device. The processor, the memory, and the communication device are interconnected. Among them, the memory is used to store a computer program, and the communication device is used to interact with external devices; the processor is configured to call the computer program to execute the method described in the first aspect or the third aspect.

[0025] In a sixth aspect, an embodiment of the present application provides a gray release device, including a processor, a memory, and a communication device. The processor, the memory, and the communication device are interconnected. Among them, the memory is used to store computer programs, and the communication device is used to interact with external devices; the processor is configured to call the computer programs and execute the methods described in the second aspect or the fourth aspect.

[0026] In a seventh aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program includes program instructions. When the program instructions are executed by a processor, the methods described in the first aspect or the third aspect are executed.

[0027] In an eighth aspect, an embodiment of the present application provides a computer-readable storage medium. The computer-readable storage medium stores a computer program, and the computer program includes program instructions. When the program instructions are executed by a processor, the methods described in the second aspect or the fourth aspect are executed.

[0028] Embodiments of the present application can build multiple branches. By uploading the H5 gray code through the constructed first code branch and uploading the H5 production code through the constructed second code branch, multiple copies of code can exist on the storage server at the same time, which is convenient for sending a resource pull request carrying the second gray identifier to the storage server, so that the gray resources can be accurately obtained; ensuring that the addresses of the main entrances of H5 pages across projects are the same, without the need to provide multiple addresses externally, reducing human errors and also reducing resource waste. Through the embodiments of the present application, a gray release process across projects can be realized, that is, no matter what front-end project it is, the corresponding gray release can be carried out according to this process, not limited to a specific project, and it has universality. At the same time, the process and standards are unified, reducing the subsequent maintenance cost, improving the maintainability, and increasing the flexibility of the release process. This gray release method can not only be used across projects, but also greatly improve the maintainability, reduce the maintenance costs in various dimensions of the H5 release process. At the same time, in the face of the access of future projects, as long as the standards of this release process are followed, the release process of this set of gray methods can be accessed, and the scalability is strong. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the background technology, the following will describe the drawings required to be used in the embodiments of the present application or the background technology.

[0030] Figure 1 It is a schematic diagram of the network architecture of a gray release method provided by an embodiment of the present application;

[0031] Figure 2 It is an interaction schematic diagram of a gray release method provided by an embodiment of the present application;

[0032] Figure 3 It is a schematic flow chart of a gray release method provided by an embodiment of the present application;

[0033] Figure 4 It is a schematic flow chart of another gray release method provided by an embodiment of the present application;

[0034] Figure 5a It is a schematic scenario diagram of a gray release method provided by an embodiment of the present application;

[0035] Figure 5b It is a schematic scenario diagram of another gray release method provided by an embodiment of the present application;

[0036] Figure 6 It is a schematic structural diagram of a gray release device provided by an embodiment of the present application;

[0037] Figure 7 It is a schematic structural diagram of another gray release device provided by an embodiment of the present application;

[0038] Figure 8 It is a schematic hardware structure diagram of a gray release device provided by an embodiment of the present application;

[0039] Figure 9 It is a schematic hardware structure diagram of another gray release device provided by an embodiment of the present application. Detailed implementation manners

[0040] The embodiments of the present application will be described below with reference to the accompanying drawings in the embodiments of the present application.

[0041] The terms "first", "second", "third", "fourth", etc. in the specification, claims and drawings of the present application are used to distinguish different objects, rather than to describe a specific order. In addition, the terms "comprising" and "having" and any variations thereof are intended to cover non-exclusive inclusion. For example, a process, method, system, product or device that includes a series of steps or units is not limited to the listed steps or units, but may optionally further include steps or units not listed, or may optionally further include other steps or units inherent to these processes, methods, products or devices.

[0042] Referring to "embodiment" herein means that a specific feature, structure or characteristic described in connection with the embodiment may be included in at least one embodiment of the present application. The phrase appears in various places in the specification and does not necessarily refer to the same embodiment, nor is it an independent or alternative embodiment mutually exclusive with other embodiments. Those skilled in the art will explicitly and implicitly understand that the embodiments described herein may be combined with other embodiments.

[0043] As used in this specification, the terms "component", "module", "system", etc. are used to denote computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable, a thread of execution, a program, and / or a computer. By way of illustration, an application running on a computing device and the computing device can both be components. One or more components can reside in a process and / or thread of execution, and a component can be located on one computer and / or distributed between two or more computers. In addition, these components can execute from various computer-readable media storing various data structures. A component can communicate, for example, by signals according to one or more data packets (e.g., data from two components interacting with another component in a local system, a distributed system, and / or a network, such as data interacting with other systems via signals over the Internet) through local and / or remote processes.

[0044] Please refer to Figure 1 , Figure 1 is a network architecture diagram of a gray release method provided by an embodiment of this application. The architecture schematic diagram can include a server and multiple terminal devices (such as Figure 1 shown, specifically including terminal device 100a, terminal device 100b, terminal device 100c, server 200a, and server 200b). Server 200a can transmit data with each terminal device through a network. Each terminal device can install application software. Server 200b can be a storage server for the application software. Server 200a can be a cache server with a logical judgment function. When a user logs in to a certain platform through a terminal device, server 200a receives a request to access the main entry of the H5 page. Server 200a can receive the identity identification data of the user. If the identity identification data carries a first gray identification, it can be determined that the user is a gray user. Server 200a sends a resource acquisition request carrying the first gray identification to server 200b. Server 200b sends the gray resource to the terminal device, and the gray resource is used to construct the main entry of the H5 page.

[0045] After the server 200b allocates grayscale resources in response to a request to access the main entry of the H5 page, if the server 200a receives a resource pull request carrying a second grayscale identifier, and if there are static resources in the content delivery network in the server 200a, it responds to the resource pull request by extracting the static resources from the content delivery network, and the server 200a sends the static resources to the terminal device; if there are no static resources, it sends a resource pull request carrying the second grayscale identifier to the server 200b, and the server 200b sends the static resources to the terminal device. It should be noted that the content delivery network can be provided by the server 200a or by other servers, and no limitation is made in the embodiments of the present application.

[0046] The terminal device may include a mobile phone, a tablet computer, a notebook computer, a palm computer, a mobile internet device (MID), a wearable device (such as a smart watch, a smart bracelet, etc.).

[0047] The server 200a may be an Nginx server (a high-performance HTTP and reverse proxy web server) configured with a content delivery network (CDN); the server 200a may be a network attached storage (NAS) server.

[0048] It can be understood that Figure 1 the system architecture in

[0049] is only an exemplary implementation manner in the embodiments of the present application, and the system architecture in the embodiments of the present application includes but is not limited to the above system architecture. Figure 2 Figure 2 Please refer to

[0050] Step S201, sending a request to access the main entry of the H5 page;

[0051] Specifically, after the user logs in to the corresponding account through the terminal device (such as Figure 1 the terminal device 100a shown), when accessing the main entry of the H5 page, a request to access the main entry of the H5 page can be sent to the server (such as Figure 1 the server 200a shown), and the request to access the main entry of the H5 page carries the identity identification data of the user. Among them, the identity identification data can be the identity identification data assigned by the server to the user after the user registers through information such as name, email, mobile phone number, account, etc., and can be composed of one or more of characters, numbers, letters, and special symbols.​

[0052] Step S202: Receive a request to access the main entrance of the H5 page.

[0053] Specifically, the server 200a may receive a request to access the main entrance of the H5 page sent by the terminal device. The request to access the main entrance of the H5 page carries the identity identification data of the user. Among them, the address of the main entrance of the cross-project H5 page is the same address, that is, the address index.html of the main entrance of the H5 page is the same address. It can be understood that no matter whether the user logs in to the account through the terminal device of the IOS version or the Android version, the address index.html of the H5 page received by the server 200a can be the same, so as to ensure that no matter which version of the device the user uses to log in, the main entrance of the accessed H5 page is the same entrance.

[0054] Step S203: If it is determined that the user is a gray-scale user based on the identity identification data, then allocate gray-scale resources in response to the request to access the main entrance of the H5 page.

[0055] Specifically, the user can log in to a certain platform on the terminal device through his own identity identification data. When the user turns on the positioning function of the terminal device, the server 200a can obtain the location information of the user. The user can participate in activities such as browsing the H5 page and experiencing the product on a certain platform through the terminal device, and participating in these activities can generate behavior data. The user can be assigned an integral level based on the quality or quantity of the behavior data. The identity identification data can carry this behavior data or integral level. It should be noted that these behavior data not only include browsing the page and experiencing the activity, but also the usage records, access records, and participation records of the user on a certain platform through the terminal device can all be the behavior data generated by the user. The server 200a can perform algorithm analysis based on the behavior data carried by the identity identification data. For example, the H5 gray-scale release can be the H5 page released for users in a certain region. Therefore, the server 200a can pre-screen and judge through the location information of each user when logging in. The users with the same location information as the location information of a certain region that needs to be gray-scale released are selected as gray-scale users, and the corresponding first mapping list is stored in the server 200a. The content of the first mapping list is the identity identification data of the users screened out through the location information. When the server 200a receives a request from a user in a certain region to access the main entrance of the H5 page, it can determine whether the identity identification data exists in the first mapping list of the server 200a through the identity identification data. If it exists, it means it is a gray-scale user, and the server 200a allocates gray-scale resources in response to the above request to access the main entrance of the H5 page.

[0056] In one implementation, before receiving a request to access the main entry of the H5 page, the method further includes: counting the activity of the user clicking on the H5 content, and filtering the user according to the activity; wherein, the user with an activity greater than or equal to the threshold is a gray-scale user, and the user with an activity less than the threshold is a production user.

[0057] Specifically, the H5 gray-scale release can be pushed to users with a very high activity of clicking on the H5 content. The server 200a can filter according to the pre-stored behavior data of the users, and filter out users with an activity greater than or equal to the threshold as gray-scale users. The activity can be the number of times the user clicks on the H5 content within one day, one week, one month, or one quarter, and the specific value of the threshold can be analyzed according to the actual situation, and the embodiments of the present application do not make any restrictions. It should be noted that the H5 content is not limited to the content of any H5 page, but can also include the H5 content accessed through the H5 page. For example, the patterns or words presented on the H5 page of a certain application can be the H5 content, and other patterns or words obtained through these patterns or words can also be the H5 content. Filter out users with an activity greater than the threshold as gray-scale users, and store the corresponding second mapping list in the server 200a. The content of the second mapping list is the identity identification data of users with an activity greater than the threshold. When the server 200a receives a request from a user with a very high activity of clicking on the H5 content to access the main entry of the H5 page, it can determine whether the identity identification data exists in the second mapping list of the server 200a through the identity identification data. If it exists, it means it is a gray-scale user, and the server 200a responds to the request to access the main entry of the above H5 page and allocates gray-scale resources.

[0058] In this way, users targeted for gray-scale release can be screened out, and the purpose of improving the product can be achieved.

[0059] In one possible implementation, the allocating gray-scale resources in response to the request to access the main entry of the H5 page includes: sending a resource acquisition request carrying a first gray-scale identifier to the storage server, where the first gray-scale identifier is used to indicate resolving the address of the main entry of the H5 page to gray-scale resources; receiving the gray-scale resources sent by the storage server.

[0060] Specifically, when the server 200a determines that the user is a gray-scale user according to the identity identification data, it sends a resource acquisition request to the storage server ( Figure 1 the server 200b therein), and the resource acquisition request carries a first gray-scale identifier. The first gray-scale resource is used to indicate that the server 200b resolves the address of the main entry of the H5 page to gray-scale resources, so the server 200a can receive the gray-scale resources sent by the storage server.

[0061] Step S204, send grayscale resources to the terminal device;

[0062] Specifically, the server 200a sends the received grayscale resources to the terminal device, and the grayscale resources can present the main entry of the grayscale version of the H5 page on the terminal device.

[0063] Step S205, if it is determined that the user is a non-grayscale user according to the identity identification data, then allocate production resources in response to the request to access the main entry of the H5 page;

[0064] Specifically, after the server 200a receives the request to access the main entry of the H5 page, if it determines from the identity identification data carried in the request to access the main entry of the H5 page that the user is a non-grayscale user, it sends a resource acquisition request to the storage server ( Figure 1 the server 200b therein), so the server 200a can receive the production resources sent by the storage server ( Figure 1 the server 200b therein).

[0065] Step S206, send production resources to the terminal device.

[0066] Specifically, the server 200a sends the received production resources to the terminal device, and the production resources are used to present the main entry of the production version of the H5 page on the terminal device.

[0067] Please refer to Figure 3 , Figure 3 which is a schematic flowchart of a grayscale release method provided by an embodiment of the present application. The method includes but is not limited to the following steps:

[0068] Step S301, receive a resource pull request carrying a second grayscale identifier;

[0069] Specifically, after the server 200a allocates grayscale resources in response to the request to access the main entry of the H5 page, the user who sends the request to access the main entry of the H5 page is a grayscale user. Therefore, when a grayscale user sends a resource pull request, the resource pull request carries a second grayscale identifier, so the server 200a can receive the resource pull request carrying the second grayscale identifier. The second grayscale identifier can be a grayscale identifier used to instruct the server 200a to pull static resources. It should be noted that the second grayscale identifier can be the same as or different from the first grayscale identifier.

[0070] Step S302, if the static resources exist in the content delivery network, then extract the static resources from the content delivery network in response to the resource pull request;

[0071] Specifically, if there are static resources in the content delivery network, the static resources can be extracted from the content delivery network in response to a resource pull request and sent to the terminal device, where the static resources are used to display other content of the H5 page on the terminal device.

[0072] Step S303, if not, send the resource pull request carrying the second grayscale identifier to the storage server.

[0073] Specifically, if there are no static resources in the content delivery network of server 200a, server 200a sends a resource pull request carrying the second grayscale identifier to the storage server ( Figure 1 server 200b in it); and can receive the static resources sent by the storage server.

[0074] It should be noted that the content delivery network can exist in server 200a or can exist independently on other servers, and the embodiments of the present application do not make any limitations.

[0075] Through the embodiments of the present application, if there are cached resources stored in the content delivery network, there is no need to send another request to server 200b, reducing the resource requests and alleviating the pressure on the server. If there are no cached resources, a request can be sent to the server again.

[0076] Please refer to Figure 4 , Figure 4 which is a schematic flowchart of another grayscale release method provided by the embodiments of the present application. The method includes but is not limited to the following steps:

[0077] Step S401, construct a first code branch and a second code branch;

[0078] Specifically, server 200b can construct a first code branch for uploading H5 grayscale code; server 200b can also construct a second code branch for uploading H5 production code. Among them, the first code branch and the second code branch are at the same level; it can also be understood that the first branch for uploading H5 grayscale code needs to be at the same level as the second branch for uploading H5 production code. For example, a beta branch and a trunk branch can be constructed through the open source version control system of the code management platform, and the H5 grayscale code is submitted to the svn / elis_smp_wcm / beta branch, and the H5 production code is submitted to the svn / elis_smp_wcm / trunk branch, where the beta branch is a branch at the same level as the trunk branch.

[0079] Step S402: Package the H5 grayscale code under the first code branch to generate an H5 grayscale code compressed package; package the H5 production code under the second code branch to generate an H5 production code compressed package.

[0080] Specifically, when transferring and deploying the H5 grayscale code and the H5 production code, through script control content, Server 200b packages the H5 grayscale code under the first branch to generate an H5 grayscale code compressed package, and packages the H5 production code under the second branch to generate an H5 production code compressed package; and when packaging the H5 grayscale code under the first branch, add a third grayscale identifier to the H5 grayscale code under the first code branch, and the third grayscale identifier is used to distinguish the H5 grayscale code and the H5 production code. For example, package the code under the svn / elis_smp_wcm / beta branch as elis_smp_wcm_beta.zip, and package the code under the svn / elis_smp_wcm / trunk branch as elis_smp_wcm.zip. It can be seen that elis_smp_wcm_beta.zip has an additional "_beta" compared to elis_smp_wcm.zip, so it can be seen that the code in the compressed package named elis_smp_wcm_beta.zip is the grayscale code.

[0081] Step S403: Unzip and deploy the H5 grayscale code compressed package under the first code branch to obtain grayscale resources; unzip and deploy the H5 production code compressed package under the second code branch to obtain production resources.

[0082] Specifically, Server 200b unzips and deploys the H5 grayscale code compressed package obtained by packaging the H5 grayscale code uploaded through the first code branch to obtain grayscale resources, where the grayscale resources are resources including the H5 grayscale code; and unzips and deploys the H5 production code compressed package obtained by packaging the H5 production code uploaded through the second code branch to obtain production resources, and the generated resources are resources including the H5 generated code. It can be understood that the grayscale resources are used to display the grayscale released H5 interface on the terminal interface.

[0083] Step S404: After receiving a resource acquisition request carrying a first grayscale identifier, respond to the resource acquisition request and send the grayscale resources.

[0084] Specifically, when Server 200b receives a resource acquisition request carrying a first grayscale identifier sent by Service 200a, respond to the resource acquisition request through the first grayscale identifier to obtain grayscale resources from the first code branch, and send the grayscale resources to Server 200a.

[0085] Please refer to Figure 5a , Figure 5a which is a schematic diagram of a scenario of a gray release method provided by an embodiment of this application. The H5 developer 501 submits the H5 gray code to the code management library through the first code branch. After the H5 gray code is packaged into an H5 gray code compressed package, the deployment personnel 503 decompresses and deploys the H5 gray code compressed package and then submits it to the server 200b; the H5 developer 502 submits the H5 production code to the code management library through the second code branch. After the H5 production code is packaged into an H5 production code compressed package, the deployment personnel 504 decompresses and deploys the H5 production code compressed package and then submits it to the server 200b. Therefore, in the server 200b, there are stored gray resources including the H5 gray code obtained through the first code branch and production resources including the H5 production code obtained through the second code branch, wherein the first gray code and the second gray code are at the same level.

[0086] After the user 505 logs in to the account through the terminal device 100a and can access the H5 page through the address of index.html, the server 200a can receive the request to access the main entry of the H5 page. Among them, the request to access the main entry of the H5 page carries the identity identification data of the user 505. If the Nginx layer of the server 200a determines that the user 505 is a gray-scale user based on the identity identification data of the user 505, then the server 200a responds to the request to access the main entry of the H5 page and sends a resource acquisition request carrying the first gray-scale identifier to the server 200b, where the first gray-scale identifier is used to instruct the server 200b to resolve the address of the main entry of the H5 page to the gray-scale resource. When the server 200b receives the resource acquisition request carrying the first gray-scale identifier sent by the server 200a, it can extract the gray-scale resource from the first code branch and send it to the server 200a, and then the server 200a sends it to the terminal device 100a, or the server 200b can directly send the gray-scale resource to the terminal device 100a after extracting the gray-scale resource from the first code branch. When the terminal device 100a receives the gray-scale resource, the user 505 can access the gray-scale version of the H5 page on the terminal device. If the server 200a determines that the user 505 is a non-gray-scale user based on the identity identification data of the user 505 in the Nginx layer, then the server 200a responds to the request to access the main entry of the H5 page and sends a resource acquisition request to the server 200b. When the server 200b receives the resource acquisition request sent by the server 200a, it can extract the production resource from the second code branch and send it to the server 200a, and then the server 200a sends it to the terminal device 100a, or the server 200b can directly send the production resource to the terminal device 100a after extracting the production resource from the second code branch. When the terminal device 100a receives the production resource, the user 505 can access the production version of the H5 page on the terminal device. Among them, the gray-scale version of the H5 page and the production version of the H5 page can be completely different H5 pages, including differences in page content, functions, etc.

[0087] It should be noted that the H5 developer 501 and the H5 developer 502 can be the same H5 developer or different H5 developers; the deployer 503 and the deployer 504 can be the same deployer or different deployers.

[0088] Please refer to Figure 5b , Figure 5bIt is a schematic diagram of the scenario of another gray release method provided by an embodiment of the present application. The H5 developer 506 can submit other static codes to the Web Content Management (WCM) or Content Management System (CSM) through branches other than the first code branch or the second code branch, and then submit the compressed package after packing the static codes to the deployer or deployment script 507. The deployer or deployment script 507 decompresses and deploys the static code compressed package and submits it to the server 200b. Therefore, in the server 200b, there are other static code resources in addition to the production resources of the gray resources.

[0089] After the terminal device 100a receives the gray resources returned by the processing of the Nginx layer in the server 200a, it needs to pull other static resources. Since it is the main entry of the H5 page accessed through the index.html address, after the gray resources are returned, the index.html at this time carries the second gray identifier, and the second gray identifier is used to instruct the server 200a to pull static resources. If the static resources are stored in the content delivery network, the static resources are extracted from the content delivery network in response to the resource pull request and sent to the terminal device 100a; if the static resources are not stored in the content delivery network, the resource pull request carrying the second gray identifier is sent to the server 200b, and the server 200b extracts the static resources in response to the resource pull request. The server 100b can directly send the static resources to the terminal device 100a, or can be sent to the terminal device 100a by the content delivery network. When the terminal device receives the static resources, the user 505 can access other contents of the gray version of the H5 page through the terminal device 100a. It should be noted that the content delivery network can exist in the server 200a or can exist independently on other servers, and the embodiments of the present application do not make any limitations.

[0090] Please refer to Figure 6 , Figure 6 It is a schematic diagram of the structure of a gray release device provided by an embodiment of the present application. As Figure 6 shown, the gray release device 60 can be applied to the server 200a in the corresponding embodiment of the above Figure 1 The gray release device 60 can include: a receiving unit 601, a first response unit 602, a second response unit 603, and a statistical screening unit 604, where

[0091] The receiving unit 601 is specifically configured to receive a request to access the main entry of the H5 page, and the request to access the main entry of the H5 page carries identity identification data of the user;

[0092] The first response unit 602 is specifically configured to allocate gray-scale resources in response to the request to access the main entry of the H5 page when it is determined according to the identity identification data that the user is a gray-scale user;

[0093] The second response unit 603 is specifically configured to allocate gray-scale resources in response to the request to access the main entry of the H5 page when it is determined according to the identity identification data that the user is a gray-scale user;

[0094] The statistical screening unit 604 is specifically configured to, before the receiving unit 601 receives the request to access the main entry of the H5 page, statistically screen the activity of the user clicking on the H5 content and screen the user according to the activity; among them, the user with an activity greater than or equal to the threshold is a gray-scale user, and the user with an activity less than the threshold is a production user.

[0095] Among them, the gray-scale resources include the resources unpacked and deployed after packing the H5 gray-scale code uploaded through the first code branch; the production resources include the resources unpacked and deployed after packing the H5 production code uploaded through the second code branch; the first code branch and the second code branch are at the same level.

[0096] The first response unit 601 is further specifically configured to send a resource acquisition request carrying a first gray-scale identifier to the storage server, where the first gray-scale identifier is used to indicate resolving the address of the main entry of the H5 page to gray-scale resources; and receive the gray-scale resources sent by the storage server.

[0097] After the first response unit 601 allocates gray-scale resources in response to the request to access the main entry of the H5 page, the gray-scale publishing device 60 is further specifically configured to receive a resource pulling request carrying a second gray-scale identifier; the second gray-scale identifier is used to indicate pulling static resources; if the static resources exist in the content delivery network, then respond to the resource pulling request and extract the static resources from the content delivery network.

[0098] It should be noted that the implementation of each unit can also correspond to the corresponding description in the Figure 2 or Figure 3 corresponding method embodiments shown, which will not be elaborated here.

[0099] Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of another gray-scale publishing device provided by an embodiment of the present application. As shown in the figure, the gray-scale publishing device 70 can be applied to the server 200b in the corresponding embodiment of the above Figure 1 and the gray-scale publishing device 70 may include: a construction unit 701, a packaging unit 702, and an unpacking and deployment unit 703, where,

[0100] The building unit 701 is specifically used to build the first code branch for uploading the H5 gray-scale code, and build the second code branch for uploading the H5 production code.

[0101] The packaging unit 702 is specifically used to package the H5 gray-scale code under the first code branch to generate the H5 gray-scale code compressed package, and package the H5 production code under the second code branch to generate the H5 production code compressed package.

[0102] The decompression and deployment unit 703 is specifically used to decompress and deploy the H5 gray-scale code compressed package under the first code branch to obtain gray-scale resources, and decompress and deploy the H5 production code compressed package under the second code branch to obtain the production resources.

[0103] Wherein, the first code branch and the second code branch are at the same level.

[0104] When the building unit 701 packages the H5 gray-scale code under the first code branch, the gray-scale publishing device 70 is also specifically used to add a third gray-scale identifier to the H5 gray-scale code under the first code branch, and the third gray-scale identifier is used to distinguish the H5 gray-scale code compressed package and the H5 production code compressed package.

[0105] It should be noted that the implementation of each unit can also refer to the corresponding description of the method embodiment shown in Figure 4 which will not be elaborated here.

[0106] Please refer to Figure 8 , Figure 8 which is a schematic structural diagram of a gray-scale publishing device provided by an embodiment of the present application. As Figure 8 shown, the gray-scale publishing device can correspond to the server 200a in the corresponding embodiment above. The gray-scale publishing device 80 may include: one or more processors 801, one or more memories 802, and one or more communication interfaces 803. These components can be connected through a bus 804 or other means. Figure 1 Taking the communication bus connection as an example. Among them: Figure 8 The communication interface 803 can be used for the electronic device 800 to communicate with other communication devices, such as other electronic devices. Specifically, the communication interface 803 can be a wired interface.

[0107]

[0108] ​The memory 802 can be coupled to the processor 801 via a bus 804 or an input / output port, or the memory 802 can also be integrated with the processor 801. The memory 802 is used to store various software programs and / or multiple sets of instructions or data. Specifically, the memory 802 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or it can also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compact discs, laser discs, optical discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code resources in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 802 can include high-speed random access memory and can also include non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices. The memory 802 can store an operating system (hereinafter referred to as the system), such as embedded operating systems like uCOS, VxWorks, RTLinux, etc. The memory 802 can also store a network communication program, which can be used to communicate with one or more additional devices, one or more user devices, and one or more electronic devices. The memory can exist independently and be connected to the processor via a bus. The memory can also be integrated with the processor.

[0109] Among them, the memory 802 is used to store the application program code resources for executing the above solutions and is controlled by the processor 801 to execute. The processor 801 is used to execute the application program code resources stored in the memory 802.

[0110] The processor 801 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logic blocks, modules and circuits described in connection with the disclosure of the present application. The processor can also be a combination that realizes a determined function, such as a combination including one or more microprocessor combinations, a combination of a digital signal processor and a microprocessor, and so on.

[0111] The processor 801 can be used to call the application programs stored in the memory 802 to implement Figure 2 or Figure 3 the corresponding steps of the gray release method in any corresponding embodiment; in a specific implementation, one or more instructions in the computer storage medium are loaded and executed by the processor 801 to perform the following steps:

[0112] The processor 801 can receive a request to access the main entry of the H5 page through the communication interface 803, and the request to access the main entry of the H5 page carries the identity identification data of the user; the processor 801 can, when determining that the user is a gray user according to the identity identification data, allocate gray resources in response to the request to access the main entry of the H5 page; the processor 801 can, when determining that the user is a non-gray user according to the identity identification data, allocate production resources in response to the request to access the main entry of the H5 page; wherein, the gray resources include the resources that are unpacked and deployed after being packaged from the H5 gray code uploaded through the first code branch; the production resources include the resources that are unpacked and deployed after being packaged from the H5 production code uploaded through the second code branch; the first code branch and the second code branch are at the same level.

[0113] In another implementation manner, the processor 801 can send a resource acquisition request carrying a first gray identifier to the storage server through the communication interface 803, and the first gray identifier is used to indicate that the address of the main entry of the H5 page is resolved to gray resources; the gray resources sent by the storage server can be received through the communication interface 803.

[0114] In another implementation manner, before the processor 801 receives a request to access the main entry of the H5 page through the communication interface 803, the activity of the user clicking on the H5 content can be counted, and the user can be screened according to the activity; among them, the user with an activity greater than or equal to the threshold is a gray user, and the user with an activity less than the threshold is a production user.

[0115] In another implementation manner, after the processor 801 allocates gray resources in response to the request to access the main entry of the H5 page, a resource pull request carrying a second gray identifier can be received through the communication interface 803; the second gray identifier is used to indicate pulling static resources;

[0116] In another implementation manner, if the static resources exist in the content delivery network, the processor 801 can extract the static resources from the content delivery network in response to the resource pull request. It should be noted that Figure 8 The gray release device 80 shown is only one implementation manner of the embodiments of the present application. In practical applications, the gray release device 80 may further include more or fewer components, which are not limited here.

[0117] See also Figure 9 , Figure 9 Schematic diagram of the structure of a grayscale publishing device provided by an embodiment of the present application. Figure 9 As shown, the grayscale release device may correspond to the above Figure 1 In the corresponding embodiment, the server 200b, the grayscale publishing device 90 may include: one or more processors 901, one or more memories 902, and one or more communication interfaces 903. These components may be connected via a bus 904 or other means. Figure 9 Take the communication bus connection as an example. Among them:

[0118] The communication interface 903 may be used for the grayscale publishing device 90 to communicate with other communication devices, such as other electronic devices. Specifically, the communication interface 903 may be a wired interface.

[0119] The memory 902 can be coupled to the processor 901 through the bus 904 or the input and output ports, and the memory 902 can also be integrated with the processor 901. The memory 902 is used to store various software programs and / or multiple sets of instructions or data. Specifically, the memory 902 can be a read-only memory (ROM) or other types of static storage devices that can store static information and instructions, a random access memory (RAM) or other types of dynamic storage devices that can store information and instructions, or an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical disc, laser disc, optical disc, digital versatile disc, Blu-ray disc, etc.), a magnetic disk storage medium or other magnetic storage device, or any other medium that can be used to carry or store the desired program code resources in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 902 may include a high-speed random access memory, and may also include a non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state storage devices. The memory 902 may store an operating system (hereinafter referred to as system), such as an embedded operating system such as uCOS, VxWorks, RTLinux, etc. The memory 902 may also store a network communication program, which may be used to communicate with one or more additional devices, one or more user devices, or one or more electronic devices. The memory may be independent and connected to the processor via a bus. The memory may also be integrated with the processor.

[0120] Among them, the memory 902 is used to store the application program code resources for executing the above solutions, and is controlled by the processor 901 to execute. The processor 901 is used to execute the application program code resources stored in the memory 902.

[0121] The processor 901 can be a central processing unit, a general-purpose processor, a digital signal processor, an application-specific integrated circuit, a field-programmable gate array or other programmable logic devices, transistor logic devices, hardware components or any combination thereof. It can implement or execute various exemplary logical blocks, modules and circuits described in combination with the disclosure of the present application. The processor can also be a combination that realizes a determined function, such as a combination including one or more microprocessors, a combination of a digital signal processor and a microprocessor, and so on.

[0122] The processor 901 can be used to call the application program stored in the memory 902 to implement Figure 4 the corresponding steps of the gray release method in the corresponding embodiments; in a specific implementation, one or more instructions in the computer storage medium are loaded and executed by the processor 901 to perform the following steps:

[0123] The processor 901 is used to construct a first code branch, and the first code branch is used to upload the H5 gray code; construct a second code branch, and the second code branch is used to upload the H5 generated code;

[0124] The processor 901 packs the H5 gray code under the first code branch to generate the H5 gray code compression package; packs the H5 production code under the second code branch to generate the H5 production code compression package;

[0125] The processor 901 decompresses and deploys the H5 gray code compression package under the first code branch to obtain gray resources; decompresses and deploys the H5 production code compression package under the second code branch to obtain production resources;

[0126] Among them, the first code branch and the second code branch are at the same level.

[0127] In another implementation manner, when the processor 901 packs the H5 gray code under the first code branch, the processor 901 is further specifically used to add a third gray identifier to the H5 gray code under the first code branch, and the third gray identifier is used to distinguish the H5 gray code compression package and the H5 production code compression package.

[0128] In another embodiment, after the processor 901 also receives a resource acquisition request carrying a first grayscale identifier through the communication interface 903, it responds to the resource acquisition request and sends the grayscale resource.

[0129] It should be noted that Figure 9 The grayscale publishing device 90 shown is only one implementation manner of the embodiments of the present application. In practical applications, the grayscale publishing device 90 may further include more or fewer components, which are not limited here.

[0130] In the above embodiments, the descriptions of the respective embodiments each have their own focuses. For parts not detailed in a certain embodiment, reference may be made to the relevant descriptions of other embodiments.

[0131] It should be noted that for the foregoing method embodiments, for the sake of simple description, they are all expressed as a series of action combinations. However, those skilled in the art should know that the present application is not limited by the described action sequence, because according to the present application, certain steps may be implemented in other sequences or simultaneously. Secondly, those skilled in the art should also know that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily essential to the present application.

[0132] In several embodiments provided by the present application, it should be understood that the disclosed device can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the above division of units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point, the displayed or discussed coupling or direct coupling or communication connection to each other can be through some interfaces, and the indirect coupling or communication connection of the device or unit can be in an electrical or other form.

[0133] The units described as separate components above may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0134] In addition, the functional units in the respective embodiments of the present application can be integrated in a processing unit, or each unit can exist physically alone, or two or more units can be integrated in one unit. The above integrated units can be implemented in the form of hardware or in the form of software functional units.

[0135] If the above integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of this technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc., specifically, the processor in the computer device) to execute all or part of the steps of the above methods in various embodiments of this application. Among them, the aforementioned storage medium may include: various media such as USB flash drives, mobile hard disks, magnetic disks, optical disks, read-only memory (ROM), or random access memory (RAM) that can store program code resources.

[0136] Those of ordinary skill in the art can understand that all or part of the process in implementing the methods in the above embodiments can be completed by relevant hardware instructed by a computer program. This program can be stored in a computer-readable storage medium. When this program is executed, it may include the processes of the above method embodiments. The aforementioned storage medium includes: various media such as ROM or random access memory RAM, magnetic disks, or optical disks that can store program code resources.

Claims

1. A gray release method, characterized in that, The method includes: Receiving a request to access the main entry of the H5 page, where the request to access the main entry of the H5 page carries the identity identification data of the user; wherein, the address of the main entry of the cross-project H5 page is the same address; When it is determined according to the identity identification data that the user is a gray-scale user, then allocate gray-scale resources in response to the request to access the main entry of the H5 page; When it is determined according to the identity identification data that the user is a non-gray-scale user, then allocate production resources in response to the request to access the main entry of the H5 page; Wherein, the gray-scale resources include the resources that are unpacked and deployed after being packaged from the H5 gray-scale code uploaded through the first code branch; the production resources include the resources that are unpacked and deployed after being packaged from the H5 production code uploaded through the second code branch; the first code branch and the second code branch are at the same level; Before receiving the request to access the main entry of the H5 page, the method further includes: Obtaining the location information of the user, screening out the users whose location information is the same as the location information of the specified area where gray-scale release needs to be performed, and storing the first mapping list corresponding to the screened users, where the first mapping list includes the identity identification data of the screened users; wherein, the users corresponding to the first mapping list are gray-scale users; Counting the activity of the user clicking on the H5 content, and performing screening processing on the users according to the activity to obtain a second mapping list, where the second mapping list includes the identity identification data of the users whose activity is greater than the threshold; wherein, the users corresponding to the second mapping list are gray-scale users; After allocating gray-scale resources in response to the request to access the main entry of the H5 page, it further includes: Receiving a resource pulling request carrying a second gray-scale identifier; the second gray-scale identifier is used to indicate pulling static resources; If the static resources exist in the content delivery network, then extract the static resources from the content delivery network in response to the resource pulling request; If the static resources do not exist in the content delivery network, then send the resource pulling request carrying the second gray-scale identifier to the storage server, and receive the static resources sent by the storage server.

2. The method according to claim 1, characterized in that, The allocating gray-scale resources in response to the request to access the main entry of the H5 page includes: Sending a resource acquisition request carrying a first gray-scale identifier to the storage server, where the first gray-scale identifier is used to indicate resolving the address of the main entry of the H5 page to gray-scale resources; Receiving the gray-scale resources sent by the storage server.

3. A gray release method, characterized in that, The method includes: Constructing a first code branch for uploading H5 gray-scale code; constructing a second code branch for uploading H5 production code; Packaging the H5 gray-scale code under the first code branch to generate the H5 gray-scale code compression package; packaging the H5 production code under the second code branch to generate the H5 production code compression package; Unzip and deploy the H5 grayscale code package under the first code branch to obtain grayscale resources; unzip and deploy the H5 production code package under the second code branch to obtain production resources; Among them, the first code branch is at the same level as the second code branch; the grayscale resources are used to build the main entry of the H5 page, and the addresses of the main entries of the H5 pages across projects are the same address; the grayscale resources are the resources obtained by grayscale users, and the determination method of grayscale users is as follows: obtain the location information of the user, filter out the users whose location information is the same as the location information of the specified area where gray release needs to be performed, and store the first mapping list corresponding to the filtered users, where the first mapping list includes the identity identification data of the filtered users; among them, the users corresponding to the first mapping list are grayscale users; count the activity of users clicking on H5 content, and perform screening processing on users according to the activity to obtain a second mapping list, where the second mapping list includes the identity identification data of users with activity greater than the threshold; among them, the users corresponding to the second mapping list are grayscale users; If a resource pull request carrying a second grayscale identifier is received, return the static resources corresponding to the second grayscale identifier, where the resource pull request is sent when it is determined that the static resources do not exist in the content delivery network.

4. The method according to claim 3, characterized in that, The method further includes: After receiving a resource acquisition request carrying a first grayscale identifier, respond to the resource acquisition request by sending the grayscale resources.

5. A gray release device, characterized in that, The device is used to execute the method according to claim 1, and the device includes: A receiving unit, configured to receive a request to access the main entry of the H5 page, where the request to access the main entry of the H5 page carries the identity identification data of the user; A first response unit, configured to, when it is determined according to the identity identification data that the user is a grayscale user, respond to the request to access the main entry of the H5 page by allocating grayscale resources; A second response unit, configured to, when it is determined according to the identity identification data that the user is a grayscale user, respond to the request to access the main entry of the H5 page by allocating grayscale resources; Among them, the grayscale resources include the resources obtained by unzipping and deploying the H5 grayscale code uploaded through the first code branch; the production resources include the resources obtained by unzipping and deploying the H5 production code uploaded through the second code branch; the first code branch is at the same level as the second code branch.

6. A gray release device, characterized in that, The device is used to execute the method according to claim 3, and the device includes: A construction unit, configured to construct a first code branch for uploading H5 grayscale code; construct a second code branch for uploading H5 production code; A packaging unit, configured to package the H5 grayscale code under the first code branch to generate the H5 grayscale code package; package the H5 production code under the second code branch to generate the H5 production code package; Unzip the deployment unit, which is used to unzip and deploy the H5 gray code compressed package under the first code branch to obtain gray resources; unzip and deploy the H5 production code compressed package under the second code branch to obtain the production resources; Among them, the first code branch is at the same level as the second code branch.

7. A gray release device, characterized in that, It includes a processor, where the processor is configured to call a stored program and execute the method according to any one of claims 1-4.

8. A computer-readable storage medium, characterized in that The computer-readable storage medium stores program instructions, and when the program instructions are executed by the processor, the processor is caused to execute the method according to any one of claims 1-4.

Citation Information

Patent Citations

  • Handling method and system of grey release

    CN103095743A

  • Gray releasing method, device, system and electronic device

    CN108319468A