Data Processing Method, Apparatus and Storage Medium

By obtaining the identification information of external business requests, determining the experimental layer and diversion strategy, using Murmur Hash3 algorithm and responsibility chain calls, the scalability and efficiency problems of the AB test system are solved, and multi-level and multi-angle AB testing is realized.

CN113760725BActive Publication Date: 2025-07-18BEIJING JINGDONG TUOXIAN TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110061066.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-01-18
Publication Date
2025-07-18
Estimated Expiration
2041-01-18

AI Technical Summary

Technical Problem

Existing AB testing systems are usually severely coupled to specific business types, cannot be expanded to other business types, and have low testing efficiency.

Method used

By obtaining the identification information of external service requests, determining the corresponding experimental layer and diversion strategy, using Murmur Hash3 algorithm and responsibility chain calls, multi-level and multi-angle AB testing, including traffic division and AB testing of multiple business lines.

Benefits of technology

It improves the efficiency of AB testing, realizes multi-level and multi-angle testing, supports multi-service type testing needs, and improves the scalability and performance of the system.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113760725B_ABST
    Figure CN113760725B_ABST
Patent Text Reader

Abstract

The present application discloses a data processing method, apparatus, and storage medium. Among them, the method includes: obtaining an external service request to be shunted; determining at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information characterizes at least one business line corresponding to the external service request to be shunted; each experimental layer in the at least one experimental layer corresponds to a different business line; for each experimental layer in the at least one experimental layer, determining the experimental object corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experimental layer according to the shunting strategy corresponding to the corresponding experimental layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular, to a data processing method, apparatus, and storage medium. Background Art

[0002] AB testing (which can also be referred to as an AB experiment and can be expressed in English as A / B Test) is a method for conducting a comparative experiment on at least two solutions. For example, as Figure 1 shown, the optimal solution can be determined from Solution A, Solution B, and Solution C using AB testing. AB testing can be widely applied in various application scenarios. For example, when a new user interface (UI, User Interface) needs to be launched in an application (APP, Application), for the newly designed UI A and UI B, AB testing can be used to launch UI A and UI B in a gray environment and split the user traffic, that is, a certain proportion of users see UI A and the remaining users see UI B. Then, through multi-dimensional statistical analysis of the user behavior, traffic benefits, and other data included in the user traffic access results corresponding to UI A and the user traffic access results corresponding to UI B, it can be determined whether to launch UI A or UI B. Another example is that when an algorithm needs to be updated, AB testing can be performed on the new algorithm and the old algorithm within a certain time range to compare and analyze whether the new algorithm can replace the old algorithm. In addition, AB testing can also be used in application scenarios such as visual design, page layout, copywriting content design, recommendation algorithms, and gray release.

[0003] However, in the related art, when conducting AB testing, the data processing method still needs to be optimized. Summary of the Invention

[0004] To solve the related technical problems, embodiments of this application provide a data processing method, apparatus, and storage medium.

[0005] The technical solution of the embodiments of this application is implemented as follows:

[0006] Embodiments of this application provide a data processing method, including:

[0007] Obtain an external service request to be split;

[0008] Determine at least one experimental layer corresponding to the external service request to be split according to the identification information carried by the external service request to be split; the identification information represents at least one business line corresponding to the external service request to be split; each experimental layer in the at least one experimental layer corresponds to a different business line;

[0009] For each of the at least one experimental layer, according to the traffic splitting strategy corresponding to the respective experimental layer, determine the experimental objects corresponding to each experiment in the at least one experiment included in the respective experimental layer for the external service request to be split; different business types correspond to each experiment in the at least one experiment; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

[0010] In addition, according to at least one embodiment of the present application, the determining the at least one experimental layer corresponding to the external service request to be split according to the identification information carried by the external service request to be split includes:

[0011] According to at least one service line identifier included in the identification information, using the pre-set corresponding relationship between the service line identifier and the experimental layer, determine the at least one experimental layer corresponding to the external service request to be split.

[0012] In addition, according to at least one embodiment of the present application, the method further includes:

[0013] For each of the at least one experimental layer, according to the service line identifier corresponding to the respective experimental layer, use the pre-set corresponding relationship between the service line identifier and the traffic splitting strategy to determine the traffic splitting strategy corresponding to the respective experimental layer.

[0014] In addition, according to at least one embodiment of the present application, the determining the experimental objects corresponding to each experiment in the at least one experiment included in the respective experimental layer for the external service request to be split according to the traffic splitting strategy corresponding to the respective experimental layer includes:

[0015] For each experiment in the at least one experiment included in the respective experimental layer, according to the traffic splitting strategy corresponding to the respective experimental layer, determine the splitting ratio between at least two experimental objects included in the corresponding experiment; according to the determined splitting ratio, determine the experimental objects corresponding to the external service request to be split in the corresponding experiment.

[0016] In addition, according to at least one embodiment of the present application, the determining the experimental objects corresponding to the external service request to be split in the corresponding experiment according to the determined splitting ratio includes:

[0017] According to the determined splitting ratio, use the Murmur Hash3 algorithm to determine the experimental objects corresponding to the external service request to be split in the corresponding experiment.

[0018] In addition, according to at least one embodiment of the present application,

[0019] In the manner of calling through the chain of responsibilities, for each experiment among at least one experiment included in the corresponding experiment layer, determine the experimental object corresponding to the external service request to be shunted in the corresponding experiment.

[0020] In addition, according to at least one embodiment of the present application, the method further includes:

[0021] In the case where the experiment layer corresponding to the external service request to be shunted is not successfully determined, present a preset alarm message.

[0022] An embodiment of the present application further provides a data processing device, including:

[0023] An acquisition unit, configured to acquire an external service request to be shunted;

[0024] A first processing unit, configured to determine at least one experiment layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information characterizes at least one business line corresponding to the external service request to be shunted; each experiment layer in the at least one experiment layer corresponds to a different business line;

[0025] A second processing unit, configured to, for each experiment layer in the at least one experiment layer, determine the experimental object corresponding to the external service request to be shunted in each experiment among at least one experiment included in the corresponding experiment layer according to the shunting strategy corresponding to the corresponding experiment layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

[0026] An embodiment of the present application further provides a data processing device, including: a processor and a memory for storing a computer program that can run on the processor;

[0027] Wherein, when the processor is used to run the computer program, the steps of any of the above methods are executed.

[0028] An embodiment of the present application further provides a storage medium, the medium stores a computer program, and when the computer program is executed by a processor, the steps of any of the above methods are implemented.

[0029] The data processing method, apparatus, and storage medium provided by the embodiments of the present application obtain an external service request to be shunted; determine at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information represents at least one business line corresponding to the external service request to be shunted; each experimental layer in the at least one experimental layer corresponds to a different business line; for each experimental layer in the at least one experimental layer, determine the experimental objects corresponding to the external service request to be shunted in each experiment included in the corresponding experimental layer according to the shunting strategy corresponding to the corresponding experimental layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing. The solution of the embodiments of the present application determines at least one experimental layer corresponding to the external service request to be shunted, and for each experimental layer, determines the experimental objects corresponding to the external service request to be shunted in each experiment included in the corresponding experimental layer according to the corresponding shunting strategy. In this way, it is possible to simultaneously implement the traffic division of at least one business line and the traffic division of at least one AB test on each business line, thereby implementing multi-level and multi-angle AB tests and improving the efficiency of AB tests. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 It is a schematic diagram of the application scenario for AB testing;

[0031] Figure 2 It is a schematic flowchart of the data processing method according to the embodiments of the present application;

[0032] Figure 3 It is a schematic structural diagram of the data processing system according to the application embodiments of the present application;

[0033] Figure 4 It is a schematic internal interaction diagram of the data processing system according to the application embodiments of the present application;

[0034] Figure 5 It is a schematic structural diagram of the data processing apparatus according to the embodiments of the present application;

[0035] Figure 6 It is a schematic hardware structure diagram of the data processing apparatus according to the embodiments of the present application. DETAILED DESCRIPTION OF THE EMBODIMENTS

[0036] The technical solutions of the present application will be further described in detail below with reference to the accompanying drawings and embodiments.

[0037] In the related art, an AB test module or an AB test system is usually developed for a specific business type. That is, the AB test module or the AB test system is highly coupled with its corresponding business type and cannot be applied to the tests of other business types through means such as configuration and extension. Moreover, an AB test module or an AB test system usually only supports the test of one business type at the same time, and the test efficiency is poor.

[0038] Based on this, in various embodiments of the present application, at least one experimental layer corresponding to an external business request to be shunted is determined, and for each experimental layer, according to the corresponding shunting strategy, the experimental objects corresponding to each experiment included in the at least one experiment of the external business request to be shunted in the corresponding experimental layer are determined. In this way, the traffic division of at least one business line and the traffic division of at least one AB test on each business line can be simultaneously realized, and then the AB test at multiple levels and from multiple angles can be realized, improving the efficiency of the AB test.

[0039] An embodiment of the present application provides a data processing method, as Figure 2 shown, the method includes:

[0040] Step 201: Obtain an external business request to be shunted;

[0041] Step 202: Determine at least one experimental layer corresponding to the external business request to be shunted according to the identification information carried by the external business request to be shunted;

[0042] Here, the identification information represents at least one business line corresponding to the external business request to be shunted; each experimental layer in the at least one experimental layer corresponds to a different business line;

[0043] Step 203: For each experimental layer in the at least one experimental layer, determine the experimental objects corresponding to each experiment included in the at least one experiment of the external business request to be shunted in the corresponding experimental layer according to the shunting strategy corresponding to the corresponding experimental layer;

[0044] Here, each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

[0045] Here, it should be noted that in various embodiments of the present application, an experiment refers to an AB test, and an experimental object refers to one of at least two test schemes included in an AB test.

[0046] Among them, in step 201, in actual application, the method for obtaining the external service requests to be shunted can be set according to requirements. For example, users with similar hobbies or other similar characteristics can be preset as the target user group, and the external service requests to be shunted can be obtained from the clients of the target users in the target user group through the interfaces provided by the clients of the target users. For another example, the service requests of users can be diverted through the interfaces provided by the target web pages to obtain the external service requests to be shunted.

[0047] For step 202, in one embodiment, determining at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted may include:

[0048] According to at least one business line identifier included in the identification information, using the pre-set corresponding relationship between the business line identifier and the experimental layer, determine at least one experimental layer corresponding to the external service request to be shunted.

[0049] In actual application, the corresponding relationship between the business line identifier and the experimental layer can be set according to requirements and stored in the local database in any form (i.e., file type). Therefore, the method may further include: obtaining the corresponding relationship between the business line identifier and the experimental layer from the local. Of course, the corresponding relationship between the business line identifier and the experimental layer can also be stored in the local cache according to requirements.

[0050] In step 203, in actual application, before determining the experimental objects corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experimental layer according to the shunting strategy corresponding to the corresponding experimental layer, it is necessary to first determine the shunting strategy corresponding to the corresponding experimental layer.

[0051] Based on this, in one embodiment, before determining the experimental objects corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experimental layer according to the shunting strategy corresponding to the corresponding experimental layer, the method may further include:

[0052] For each experimental layer in the at least one experimental layer, according to the business line identifier corresponding to the corresponding experimental layer, using the pre-set corresponding relationship between the business line identifier and the shunting strategy, determine the shunting strategy corresponding to the corresponding experimental layer.

[0053] In actual application, the correspondence between the service line identifier and the traffic splitting strategy, as well as the traffic splitting strategy, can be set according to requirements and stored in the local database in any form (i.e., file type). Therefore, the method may further include: obtaining the correspondence between the service line identifier and the traffic splitting strategy from the local. Of course, the correspondence between the service line identifier and the traffic splitting strategy can also be stored in the local cache according to requirements.

[0054] In step 203, the traffic splitting strategy at least includes the traffic splitting ratio between at least two experimental objects included in each experiment included in at least one experiment included in the corresponding experimental layer.

[0055] Based on this, in an embodiment, determining the experimental object corresponding to the external service request to be split in each experiment included in at least one experiment included in the corresponding experimental layer according to the traffic splitting strategy corresponding to the corresponding experimental layer may include:

[0056] For each experiment included in at least one experiment included in the corresponding experimental layer, determine the traffic splitting ratio between at least two experimental objects included in the corresponding experiment according to the traffic splitting strategy corresponding to the corresponding experimental layer; determine the experimental object corresponding to the external service request to be split in the corresponding experiment according to the determined traffic splitting ratio.

[0057] In actual application, the ratio information included in the traffic splitting strategy can be set according to requirements, and the traffic splitting strategy can also be stored in the local database in any form (i.e., file type). Therefore, the method may further include: obtaining the traffic splitting strategy corresponding to the corresponding experimental layer from the local. Here, the local database can provide an external interface for users to perform create, read, update, and delete (CRUD) operations on the correspondence between the service line identifier and the experimental layer, the correspondence between the service line identifier and the traffic splitting strategy, and the traffic splitting strategy stored in the local database through the client. Of course, the traffic splitting strategy can also be stored in the local cache according to requirements.

[0058] Among them, in an embodiment, determining the experimental object corresponding to the external service request to be split in the corresponding experiment according to the determined traffic splitting ratio may include:

[0059] According to the determined traffic splitting ratio, use the Murmur Hash3 algorithm to determine the experimental object corresponding to the external service request to be split in the corresponding experiment.

[0060] Here, using the Murmur Hash3 algorithm to determine the experimental object corresponding to the external service request to be split in the corresponding experiment can improve the traffic splitting efficiency. In actual application, other algorithms can also be used for traffic splitting according to requirements, such as the Message Digest Algorithm (MD5).

[0061] In one embodiment, when determining the experimental objects corresponding to each experiment of at least one experiment included in the corresponding experiment layer for the external service request to be shunted, the experimental objects corresponding to the external service request to be shunted in the corresponding experiment can be determined for each experiment of at least one experiment included in the corresponding experiment layer by means of a responsibility chain call.

[0062] Here, by means of a responsibility chain call, shunting is performed for each experiment of at least one experiment included in the corresponding experiment layer, and pre-enhancement and / or post-enhancement processing can be performed as needed, with strong scalability.

[0063] In actual application, in order to improve the user experience and avoid the situation where the user does not understand the current data processing status due to program errors or other reasons, an alarm message can be presented to the user to enable the user to understand the current data processing status when the experiment layer corresponding to the external service request to be shunted cannot be successfully determined.

[0064] Based on this, in one embodiment, the method may further include:

[0065] Presenting a preset alarm message when the experiment layer corresponding to the external service request to be shunted cannot be successfully determined.

[0066] The data processing method provided by the embodiments of the present application includes obtaining an external service request to be shunted; determining at least one experiment layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information represents at least one business line corresponding to the external service request to be shunted; each experiment layer among the at least one experiment layers corresponds to a different business line; for each experiment layer among the at least one experiment layers, determining the experimental objects corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experiment layer according to the shunting strategy corresponding to the corresponding experiment layer; each experiment among the at least one experiments corresponds to a different business type; each experiment among the at least one experiments includes at least two experimental objects for comparative testing; in this way, it is possible to simultaneously implement the traffic division of at least one business line and the traffic division of at least one AB test on each business line, thereby implementing multi-level and multi-angle AB tests and improving the efficiency of AB tests.

[0067] The following further describes the present application in detail in combination with application embodiments.

[0068] The embodiments of the present application provide a data processing system. The following combines Figure 3 to describe the structure of the system.

[0069] AsFigure 3 As shown, the system includes four layers: an algorithm recommendation layer, an application programming interface (API) layer, a business layer, and a data layer.

[0070] Among them, the algorithm recommendation layer includes an algorithm recommendation module 301, which is used to obtain external business requests to be shunted and send the obtained external business requests to be shunted to the API layer. That is, through the APIs included in the API layer, such as Remote Procedure Call (RPC) APIs, HyperText Transfer Protocol (HTTP) APIs, Dubbo APIs, etc., call the information parsing module 302 included in the business layer to parse the external business requests to be shunted; the information parsing module 302 can, according to the identification information carried by the external business requests to be shunted, determine at least one experimental layer corresponding to the external business requests to be shunted from the corresponding relationship between the business line identification and the experimental layer stored in the Remote Dictionary Server (REDIS) 304 included in the data layer, and obtain the shunting strategy corresponding to the corresponding experimental layer from the REDIS 304; send the determined experimental layer information (specifically, it can be the business line identification) and the shunting strategy to the shunting module 303; the shunting module 303 can, for each experimental layer in the at least one experimental layer, according to the shunting strategy corresponding to the corresponding experimental layer, determine the experimental objects corresponding to the external business requests to be shunted in each of the at least one experiment included in the corresponding experimental layer; here, the shunting module 303 includes m experimental layers (m is an integer greater than 1), each experimental layer includes at least two shunting coloring modules, and the number of shunting coloring modules included in each experimental layer can be the same or different (for example, experimental layer 1 can include N1 shunting coloring modules, and experimental layer m can include N m shunting coloring modules, N m can be greater than or equal to or less than N1); for each experimental layer in the at least one experimental layer, the shunting module 303 calls each shunting coloring module in the way of Handler-chains. Each shunting coloring module corresponds to an experiment (that is, an AB test), and is used to determine the shunting ratio between at least two experimental objects included in the corresponding experiment according to the shunting strategy corresponding to the corresponding experimental layer, determine the experimental objects corresponding to the external business requests to be shunted in the corresponding experiment according to the determined shunting ratio, and return the determined experimental objects to the algorithm recommendation module 301. The algorithm recommendation module 301 diverts the corresponding external business requests to be shunted to the algorithm modules corresponding to the corresponding experimental objects.

[0071] Here, the information parsing module 302, the shunt module 303, and REDIS 304 are the core modules of the system. In actual applications, to improve the system performance, the business layer may further include a log recording module 305 and a permission control module 306; the log recording module 305 is used to record the operation logs of the system and the information for troubleshooting daily problems, and is also used to monitor the operation status of the system; the permission control module 306 is used to control the basic permissions of the system, such as API access authentication, security authentication, etc.

[0072] In addition, for the m experiment layers included in the shunt module 303, the parameters of the experiments included in the same experiment layer cannot be coupled, while the parameters of the experiments included in different experiment layers can be coupled.

[0073] Figure 4 For the internal interaction schematic diagram of the system, as Figure 4 shown, when the system processes data, the following steps may be included:

[0074] Step 401: The algorithm recommendation module 301 calls the information parsing module 302 through the API.

[0075] Specifically, the information parsing module 302 can determine at least one experiment layer corresponding to the external business request to be shunted by reading the corresponding relationship between the business line identifier and the experiment layer configured in the background (i.e., the data stored in REDIS 304), and read the shunt policy corresponding to the corresponding experiment layer configured in the background (i.e., the data stored in REDIS 304), and send the determined experiment layer information and shunt policy to the shunt module 303; the shunt module 303 can perform the splitting of the call chain mode according to the rule of mutual exclusion of traffic in the same layer and multiplexing of traffic between layers. That is to say, for each experiment layer in the at least one experiment layer, the shunt module 303 calls each shunt coloring module in the way of responsibility chain call, determines the shunt ratio between at least two experiment objects included in the experiment corresponding to the corresponding coloring module according to the shunt policy corresponding to the corresponding experiment layer, and determines the experiment object corresponding to the external business request to be shunted in the corresponding experiment according to the determined shunt ratio.

[0076] Here, the mutual exclusion of traffic in the same layer means that for each experiment in at least one experiment included in an experiment layer, an external business request to be shunted can only correspond to one experiment object; the multiplexing of traffic between layers means that an external business request to be shunted can correspond to at least one experiment object in each experiment layer.

[0077] Step 402: The information parsing module 302 returns the parsing result to the algorithm recommendation module 301.

[0078] Specifically, the shunt module 303 returns the segmentation results of multiple-layer experiments corresponding to an external service request to be shunted (i.e., at least one experimental object corresponding to an external service request to be shunted in each experimental layer) to the information parsing module 302, and the information parsing module 302 returns them to the algorithm recommendation module 301.

[0079] Step 403: The algorithm recommendation module 301 makes algorithm recommendations based on the parsing results returned by the information parsing module 302.

[0080] Specifically, the algorithm recommendation module 301 diverts the corresponding external service request to be shunted to the algorithm module corresponding to the corresponding experimental object according to at least one experimental object corresponding to an external service request to be shunted in each experimental layer.

[0081] In the embodiment of this application, the data processing system includes a hierarchical model, that is, the shunt module 303. To solve the problem that limited traffic cannot support multiple experiment requirements simultaneously and avoid the phenomenon of parameter coupling caused by analyzing multiple variables using the same experimental objects at the same time, the shunt module 303 follows the concepts of traffic orthogonality and mutual exclusion. That is, in the multiple experimental layers included in the shunt module 303, each experiment in each experimental layer has all the traffic, and all the experimental objects in the same experiment share 100% of the traffic (for example, if an experiment includes 3 experimental objects, the first experimental object uses 20% of the traffic, the second experimental object uses 50% of the traffic, then the third experimental object can use at most 30% of the traffic). The traffic between experimental objects is mutually exclusive, that is, the traffic in the same layer is mutually exclusive (it can be understood that an external service request to be shunted can only correspond to one experimental object in an experiment), and the traffic is multiplexed in different layers (it can be understood that an external service request to be shunted can correspond to at least one experimental object in each experimental layer). In this way, when more experimental traffic is needed and it is necessary to ensure that the experiments do not interfere with each other, hierarchical experiments can be selected to enable the same external service request to enter multiple experiments in different layers.

[0082] In the embodiment of this application, the data stored in REDIS 304 is configurable. Specifically, when traffic comes in (i.e., an external service request is obtained), each independent request (which can carry identification information, such as business id, device id, etc.) will be matched according to the corresponding experimental policy, and the experimental policy is read from the background configuration (i.e., the data stored in REDIS 304). The background configuration provides a background management page (which can be expressed in English as Dashboard). Through the background management page, users can perform CRUD operations on the data stored in REDIS 304, and the data configured by users will be actively refreshed and pushed to the local caches of the REDIS cluster and the server (i.e., the server of the data processing system).

[0083] In the embodiment of this application, the data processing system has the advantage of being easily extensible. Specifically, the shunt module 303 adopts the design pattern of chain of responsibility invocation. When performing business processing, it can perform pre- and / or post-enhancement processing, read multi-layer traffic splitting configurations (i.e., shunt policies) for chain invocation, which is convenient for dynamic expansion.

[0084] In the embodiment of this application, the data processing system has the advantage of high performance. Specifically, the system can provide two layers of caches, REDIS 304 and local cache, without a database interface, avoiding time-consuming operations and improving the system performance. And, the Murmur Hash3 algorithm can be used as the shunt algorithm. In this way, it can achieve processing based on 32-bit (low latency) and 128-bit hash keys (Key), especially for large chunks of data, with high balance and low collision rate.

[0085] In the embodiment of this application, the data processing system has the advantage of being cross-platform. Specifically, since it provides the calling methods of RPC API and HTTP API, it can support cross-language calls across all platforms.

[0086] In addition, during actual application, when the system fails to read the background configuration (i.e., fails to successfully read the data in REDIS 304 and the local cache), it can return in a degraded mode, automatically enter the non-shunt mode, and trigger an alarm. Subsequently, it will retry to read the data; or, it can also close all or corresponding shunt tests with one click in the background, and the test switch can be dynamically configured, further improving the user experience.

[0087] To implement the method of the embodiment of this application, the embodiment of this application also provides a data processing device, as Figure 5 shown. The device includes:

[0088] An obtaining unit 501, configured to obtain an external service request to be shunted;

[0089] A first processing unit 502, configured to determine at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information represents at least one business line corresponding to the external service request to be shunted; each experimental layer in the at least one experimental layer corresponds to a different business line;

[0090] A second processing unit 503, configured to, for each experimental layer in the at least one experimental layer, determine the experimental objects corresponding to each experiment included in the external service request to be shunted in the corresponding experimental layer according to the shunt policy corresponding to the corresponding experimental layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

[0091] Among them, in one embodiment, the first processing unit 502 is specifically configured to determine at least one experimental layer corresponding to the external service request to be shunted according to at least one service line identifier included in the identification information and by using a pre-set correspondence between the service line identifier and the experimental layer.

[0092] In one embodiment, the second processing unit 503 is further configured to, for each experimental layer among the at least one experimental layer, determine a shunting strategy corresponding to the corresponding experimental layer according to the service line identifier corresponding to the corresponding experimental layer and by using a pre-set correspondence between the service line identifier and the shunting strategy.

[0093] Among them, in one embodiment, the second processing unit 503 is specifically configured to, for each experiment among at least one experiment included in the corresponding experimental layer, determine a shunting ratio between at least two experimental objects included in the corresponding experiment according to the shunting strategy corresponding to the corresponding experimental layer; and determine an experimental object corresponding to the external service request to be shunted in the corresponding experiment according to the determined shunting ratio.

[0094] In one embodiment, the second processing unit 503 is specifically configured to determine an experimental object corresponding to the external service request to be shunted in the corresponding experiment by using the Murmur Hash3 algorithm according to the determined shunting ratio.

[0095] In one embodiment, the second processing unit 503 is specifically configured to determine an experimental object corresponding to the external service request to be shunted in the corresponding experiment for each experiment among at least one experiment included in the corresponding experimental layer in a manner of duty chain invocation.

[0096] In one embodiment, the device further includes an alarm unit, configured to present a pre-set alarm message when the experimental layer corresponding to the external service request to be shunted fails to be determined successfully.

[0097] In practical applications, the obtaining unit 501 and the alarm unit may be implemented by a processor in a data processing device in combination with a communication interface; the first processing unit 502 and the second processing unit 503 may be implemented by a processor in the data processing device.

[0098] It should be noted that when the data processing device provided in the above embodiments processes data, only the division of the above program modules is used for illustration. In actual applications, the above processing can be allocated to different program modules according to needs, that is, the internal structure of the device is divided into different program modules to complete all or part of the processing described above. In addition, the data processing device provided in the above embodiments and the embodiments of the data processing method belong to the same concept. For the specific implementation process, please refer to the method embodiments and will not be elaborated here.

[0099] Based on the hardware implementation of the above program modules, and in order to implement the method of the embodiments of the present application, the embodiments of the present application also provide a data processing device, as Figure 6 shown. The data processing device 600 includes:

[0100] A communication interface 601 capable of interacting with other electronic devices;

[0101] A processor 602 connected to the communication interface 601 to implement information interaction with other electronic devices, and when running a computer program, executes the method provided by one or more of the above technical solutions;

[0102] A memory 603 for storing a computer program that can run on the processor 602.

[0103] Specifically, the processor 602 is used to perform the following operations:

[0104] Obtain an external service request to be shunted through the communication interface 601;

[0105] According to the identification information carried by the external service request to be shunted, determine at least one experimental layer corresponding to the external service request to be shunted; the identification information represents at least one business line corresponding to the external service request to be shunted; each experimental layer in the at least one experimental layer corresponds to a different business line;

[0106] For each experimental layer in the at least one experimental layer, according to the shunting strategy corresponding to the corresponding experimental layer, determine the experimental objects corresponding to each experiment in at least one experiment included in the external service request to be shunted in the corresponding experimental layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

[0107] In one embodiment, the processor 602 is further used to perform the following operations:

[0108] Based on at least one business line identifier included in the identification information, using the pre-set corresponding relationship between the business line identifier and the experiment layer, determine at least one experiment layer corresponding to the external business request to be shunted.

[0109] In one embodiment, the processor 602 is further configured to perform the following operations:

[0110] For each experiment layer in the at least one experiment layer, based on the business line identifier corresponding to the corresponding experiment layer, using the pre-set corresponding relationship between the business line identifier and the shunting strategy, determine the shunting strategy corresponding to the corresponding experiment layer.

[0111] In one embodiment, the processor 602 is further configured to perform the following operations:

[0112] For each experiment in the at least one experiment included in the corresponding experiment layer, based on the shunting strategy corresponding to the corresponding experiment layer, determine the shunting ratio between at least two experiment objects included in the corresponding experiment; according to the determined shunting ratio, determine the experiment object corresponding to the external business request to be shunted in the corresponding experiment.

[0113] In one embodiment, the processor 602 is further configured to perform the following operations:

[0114] According to the determined shunting ratio, using the Murmur Hash3 algorithm, determine the experiment object corresponding to the external business request to be shunted in the corresponding experiment.

[0115] In one embodiment, the processor 602 is further configured to perform the following operations:

[0116] In a manner of invoking through a chain of responsibilities, for each experiment in the at least one experiment included in the corresponding experiment layer, determine the experiment object corresponding to the external business request to be shunted in the corresponding experiment.

[0117] In one embodiment, the processor 602 is further configured to perform the following operations:

[0118] In the case where the experiment layer corresponding to the external business request to be shunted is not successfully determined, present a preset alarm message.

[0119] It should be noted that: The specific process of the processor 602 executing the above operations can be seen in the method embodiment, which will not be elaborated here.

[0120] Of course, in practical applications, the various components in the data processing device 600 are coupled together through the bus system 604. It can be understood that the bus system 604 is used to implement the connection and communication between these components. In addition to the data bus, the bus system 604 also includes a power bus, a control bus, and a status signal bus. However, for the sake of clear illustration, in Figure 6 all kinds of buses are labeled as the bus system 604.

[0121] The memory 603 in the embodiment of the present application is used to store various types of data to support the operation of the data processing device 600. Examples of these data include: any computer program for operating on the data processing device 600.

[0122] The method disclosed in the embodiment of the present application above can be applied to the processor 602 or implemented by the processor 602. The processor 602 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method can be completed by the integrated logic circuit in the hardware of the processor 602 or the instructions in the form of software. The above-mentioned processor 602 may be a general-purpose processor, a digital signal processor (DSP, Digital Signal Processor), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The processor 602 can implement or execute the various methods, steps, and logic block diagrams disclosed in the embodiment of the present application. The general-purpose processor may be a microprocessor or any conventional processor, etc. Combining the steps of the method disclosed in the embodiment of the present application, it can be directly embodied as being executed and completed by the hardware decoding processor, or executed and completed by the combination of the hardware and software modules in the decoding processor. The software module may be located in the storage medium, and this storage medium is located in the memory 603. The processor 602 reads the information in the memory 603 and combines its hardware to complete the steps of the foregoing method.

[0123] In an exemplary embodiment, the data processing device 600 can be implemented by one or more application-specific integrated circuits (ASICs, Application Specific Integrated Circuit), DSPs, programmable logic devices (PLDs, Programmable Logic Device), complex programmable logic devices (CPLDs, Complex Programmable LogicDevice), field-programmable gate arrays (FPGAs, Field-Programmable Gate Array), general-purpose processors, controllers, microcontroller units (MCUs, Micro Controller Unit), microprocessors (Microprocessor), or other electronic components, and is used to execute the foregoing method.

[0124] It can be understood that the memory 603 in the embodiments of the present application can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. Among them, the non-volatile memory can be a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a ferromagnetic random access memory (FRAM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CD-ROM); the magnetic surface memory can be a disk memory or a tape memory. The volatile memory can be a random access memory (RAM), which is used as an external cache. By way of example but not limitation, many forms of RAM are available, such as static random access memory (SRAM), synchronous static random access memory (SSRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), sync link dynamic random access memory (SLDRAM), direct rambus random access memory (DRRAM).The memories described in the embodiments of the present application are intended to include, but are not limited to, these and any other suitable types of memories.

[0125] In an exemplary embodiment, the embodiments of the present application also provide a storage medium, namely a computer storage medium, specifically a computer-readable storage medium. For example, it includes a memory 603 storing a computer program, and the above computer program can be executed by a processor 602 of a data processing device 600 to complete the steps described in the foregoing method. The computer-readable storage medium can be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM.

[0126] It should be noted that: "first", "second", etc. are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence.

[0127] In addition, the technical solutions described in the embodiments of the present application can be arbitrarily combined without conflict.

[0128] The above is only a preferred embodiment of the present application and is not intended to limit the protection scope of the present application.

Claims

1. A data processing method, characterized in that, Including: Obtaining an external service request to be shunted from the client of the target user, or diverting the service request of the user through the interface provided by the target web page to obtain an external service request to be shunted; Determining at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; The identification information represents at least one business line corresponding to the external service request to be shunted; Each experimental layer in the at least one experimental layer corresponds to a different business line; For each experimental layer in the at least one experimental layer, according to the business line identifier corresponding to the corresponding experimental layer, using the pre-set correspondence between the business line identifier and the shunting strategy, determining the shunting strategy corresponding to the corresponding experimental layer; for each experiment in at least one experiment included in the corresponding experimental layer, according to the shunting strategy corresponding to the corresponding experimental layer, determining the shunting ratio between at least two experimental objects included in the corresponding experiment, and according to the determined shunting ratio, determining the experimental object corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experimental layer; each experiment in the at least one experiment corresponds to a different business type; each experiment in the at least one experiment includes at least two experimental objects for comparative testing.

2. The method according to claim 1, wherein The determining at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted includes: According to at least one business line identifier included in the identification information, using the pre-set correspondence between the business line identifier and the experimental layer, determining at least one experimental layer corresponding to the external service request to be shunted.

3. The method according to claim 1, characterized in that, The determining the experimental object corresponding to the external service request to be shunted in each experiment of at least one experiment included in the corresponding experimental layer according to the determined shunting ratio includes: According to the determined shunting ratio, using the Murmur Hash3 algorithm, determining the experimental object corresponding to the external service request to be shunted in the corresponding experiment.

4. The method according to any one of claims 1 to 3, characterized in that By means of duty chain invocation, for each experiment in at least one experiment included in the corresponding experimental layer, determining the experimental object corresponding to the external service request to be shunted in the corresponding experiment.

5. The method according to any one of claims 1 to 3, characterized in that The method further includes: In the case where the experimental layer corresponding to the external service request to be shunted is not successfully determined, presenting a preset alarm message.

6. A data processing device, characterized in that, Including: An obtaining unit, configured to obtain an external service request to be shunted from the client of the target user, or divert the service request of the user through the interface provided by the target web page to obtain an external service request to be shunted; A first processing unit, configured to determine at least one experimental layer corresponding to the external service request to be shunted according to the identification information carried by the external service request to be shunted; the identification information represents at least one business line corresponding to the external service request to be shunted; Each experimental layer in the at least one experimental layer corresponds to a different business line; A second processing unit, configured to, for each of the at least one experimental layer, determine a traffic splitting strategy corresponding to the corresponding experimental layer according to the service line identifier corresponding to the corresponding experimental layer and by using the pre-set correspondence between the service line identifier and the traffic splitting strategy; for each of the at least one experiment included in the corresponding experimental layer, determine the traffic splitting ratio between at least two experiment objects included in the corresponding experiment according to the traffic splitting strategy corresponding to the corresponding experimental layer, and determine, according to the determined traffic splitting ratio, the experiment object corresponding to the external service request to be split in each of the at least one experiment included in the corresponding experimental layer; different service types correspond to each of the at least one experiment; and each of the at least one experiment includes at least two experiment objects for conducting comparative tests.

7. A data processing device, characterized in that, Comprising: a processor and a memory for storing a computer program that can run on the processor; wherein, when the processor is used to run the computer program, the steps of the method according to any one of claims 1 to 5 are executed.

8. A storage medium storing a computer program, characterized in that, When the computer program is executed by the processor, the steps of the method according to any one of claims 1 to 5 are implemented.

Citation Information

Patent Citations

  • AB test method, system, device and storage medium

    CN110413533A

  • Test method and device, electronic equipment and storage medium

    CN110874315A