AB experiment data processing method and device, medium and equipment
Patent Information
- Application Number
- CN202310355937.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-04
- Publication Date
- 2026-09-22
- Estimated Expiration
- 2043-04-04
AI Technical Summary
[0070]借由上述技术方案,本申请提供的一种AB实验数据处理方法、装置、介质及设备,本申请通过在服务端返回的页面访问响应中携带压缩埋点信息,从而减轻网络传输压力,通过预先在客户端本地缓存压缩还原关系,在实验埋点触发时,将压缩埋点信息对照还原为原始埋点信息。由于压缩后的埋点信息信息量较压缩前明显减小,因此,本申请实施例可有效减轻网络传输压力;另外,由于针对每项AB实验传输的埋点信息信息量大大减少,因此针对当前页面访问操作,可一次性支持更多的AB实验,有效提高AB实验效率。
Smart Images

Figure CN117118798B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, medium and device for processing AB experimental data. Background Technology
[0002] A / B testing involves building two or more versions of an application or system, and simultaneously allowing groups of visitors with similar user structures to access each version according to certain rules. Different experimental configurations are set up for each version. Data collection tools are then used to gather multiple sets of user and business data. Finally, the best version is evaluated based on business metrics and officially adopted. During the experiment, it is necessary to determine the experimental configuration scheme for the current users. Therefore, how to save network overhead and improve experimental efficiency in determining the experimental configuration scheme is a technical problem that needs to be solved by those skilled in the art. Summary of the Invention
[0003] In view of this, this application provides an AB experiment data processing method, apparatus, medium and electronic device, the main purpose of which is to save network overhead and improve experimental efficiency.
[0004] According to one aspect of this application, an A / B experiment data processing method is provided for a client, comprising:
[0005] Send a page access request to the server;
[0006] Receive a page access response returned by the server, the page access response containing compressed tracking information, the compressed tracking information being the compressed tracking information of at least one A / B experiment hit according to the user identifier;
[0007] Based on the triggering of experimental data points, the local pre-cached compression-restore relationship is read, and the compressed data point information is restored to the original data point information according to the compression-restore relationship.
[0008] The original data tracking information is uploaded to the server.
[0009] In one implementation, before sending the page access request to the server, the method further includes:
[0010] In response to the application startup operation, a request is made to access the experimental platform on the server through a pre-configured platform integration tool;
[0011] The compression and restoration relationship is received from the experimental platform through the platform docking tool.
[0012] The compression and restoration relationship is cached locally.
[0013] In one implementation, the page access response also includes experimental content information matched based on the user identifier;
[0014] After receiving the page access response returned by the receiving server, the method further includes:
[0015] Obtain the page file that matches the experimental content information, and render the page based on the page file.
[0016] In one implementation, the step of triggering based on experimental data points and reading the locally pre-cached compression-reduction relationship includes:
[0017] Trigger experimental tracking points during page rendering or page access;
[0018] Based on the triggering of the experimental data points, the pre-set application data point tool is launched to read the compression and restoration relationship from the local cache.
[0019] In one implementation,
[0020] The original data tracking information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed data tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or a data encoding algorithm.
[0021] In one implementation, restoring the compressed embedding information to the original embedding information according to the compression-restoration relationship includes:
[0022] By comparing the compression and restoration relationship, the original data items corresponding to each compressed data item of the compression embedding information are found;
[0023] Summarize the original data items to obtain the original data tracking information.
[0024] According to one aspect of this application, an A / B experiment data processing method is provided for a server, comprising:
[0025] Receive page access requests sent by the client;
[0026] A page access response is returned to the client, which contains compressed tracking information, enabling the client to obtain the compressed tracking information and read the locally pre-cached compression-restore relationship based on the triggering of experimental tracking points, and restore the compressed tracking information to the original tracking information. The compressed tracking information is the compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0027] Receive the raw tracking information uploaded by the client.
[0028] In one implementation, before receiving the page access request sent by the receiving server, the method further includes:
[0029] Receive an experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-configured platform interface tool in response to the application startup operation;
[0030] The compression and restoration relationship is sent from the experimental platform to the platform interface tool, so that the client caches the compression and restoration relationship locally.
[0031] One implementation also includes:
[0032] Determine the data compression algorithm, compress the original embedded information according to the data compression algorithm, and determine the correspondence between the original data items and the compressed data items;
[0033] The correspondence between the original data items and the compressed data items is used as the compression-restoration relationship and stored on the experimental platform.
[0034] In one implementation, after receiving the page access request sent by the receiving server, the method further includes:
[0035] Based on the page access request, the user identifier is parsed out;
[0036] Based on the user identifier, the experimental configuration data corresponding to the user identifier is retrieved on the experimental platform. The experimental configuration data includes experimental content information and compression tracking information.
[0037] In one implementation, the page access response further includes the experiment content information, and the method further includes:
[0038] Based on the experimental content information, determine the page file;
[0039] The page file is provided to the client, enabling the client to render the page based on the page file.
[0040] In one implementation,
[0041] The original data entry information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed data entry information includes the compressed data items corresponding to each original data item.
[0042] According to one aspect of this application, an AB experiment data processing apparatus is provided for a client, comprising:
[0043] The page request unit is used to send a page access request to the server and receive a page access response returned by the server. The page access response includes compressed tracking information, which is compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0044] The compression and restoration unit is used to read the local pre-cached compression and restoration relationship based on the triggering of experimental data points, and restore the compressed data point information to the original data point information according to the compression and restoration relationship.
[0045] The event tracking reporting unit is used to upload the original event tracking information to the server.
[0046] One implementation also includes:
[0047] The platform interface unit is used to respond to the application startup operation by requesting access to the experimental platform on the server through a pre-set platform interface tool; and to receive the compression and restoration relationship issued by the experimental platform through the platform interface tool.
[0048] The caching unit caches the compression-restore relationship locally.
[0049] In one implementation, the page access response also includes experimental content information matched based on the user identifier;
[0050] The device further includes:
[0051] The page rendering unit is used to obtain a page file matched based on the experimental content information and to render the page based on the page file.
[0052] In one implementation, the compression and restoration unit is specifically used to trigger experimental data tracking during page rendering or page access; based on the triggering of the experimental data tracking, a pre-set application data tracking tool is started to read the compression and restoration relationship from the local cache.
[0053] In one implementation,
[0054] The original data tracking information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed data tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or a data encoding algorithm.
[0055] In one implementation, the compression and restoration unit is specifically used to find the original data items corresponding to each compressed data item of the compressed embedding information by referring to the compression and restoration relationship, and to summarize the original data items to obtain the original embedding information.
[0056] According to one aspect of this application, an A / B experiment data processing apparatus is provided for a server, comprising:
[0057] The page response unit is used to receive a page access request sent by the client and return a page access response to the client. The page access response contains compressed tracking information, which enables the client to obtain the compressed tracking information and read the local pre-cached compression and restoration relationship based on the triggering of experimental tracking points, and restore the compressed tracking information to the original tracking information. The compressed tracking information is the compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0058] The event tracking receiving unit is used to receive the raw event tracking information uploaded by the client.
[0059] One implementation also includes:
[0060] The platform response unit is used to receive an experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-configured platform docking tool in response to the application startup operation; and the experimental platform issues the compression and restoration relationship to the platform docking tool, so that the client caches the compression and restoration relationship locally.
[0061] One implementation also includes:
[0062] The compression processing unit is used to determine a data compression algorithm, compress the original embedded information according to the data compression algorithm, determine the correspondence between the original data items and the compressed data items, and store the correspondence between the original data items and the compressed data items as the compression-restoration relationship on the experimental platform.
[0063] One implementation also includes:
[0064] The configuration hit unit is used to parse out the user identifier based on the page access request, and to find the experimental configuration data corresponding to the user identifier on the experimental platform based on the user identifier, wherein the experimental configuration data includes experimental content information and compressed embedding information.
[0065] In one implementation, the page access response further includes the experiment content information, and the device further includes:
[0066] The page rendering control unit is used to determine the page file based on the experimental content information, and to provide the page file to the client so that the client can perform page rendering based on the page file.
[0067] In one implementation, the original tracking information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed tracking information includes compressed data items corresponding to each original data item.
[0068] According to one aspect of this application, a storage medium is provided that stores a computer program, wherein the computer program is configured to execute the above-described AB experimental data processing method when running.
[0069] According to one aspect of this application, an electronic device is provided, including a memory and a processor, wherein the memory stores a computer program, and the processor is configured to run the computer program to perform the above-described method for processing AB experimental data.
[0070] By employing the above technical solutions, this application provides an A / B experiment data processing method, apparatus, medium, and device. This application reduces network transmission pressure by carrying compressed tracking information in the page access response returned by the server. By pre-caching the compression-reduction relationship locally on the client, the compressed tracking information is restored to the original tracking information when the experimental tracking is triggered. Since the amount of tracking information after compression is significantly reduced compared to before compression, this application embodiment can effectively reduce network transmission pressure. Furthermore, because the amount of tracking information transmitted for each A / B experiment is greatly reduced, more A / B experiments can be supported at once for the current page access operation, effectively improving A / B experiment efficiency.
[0071] The above description is only an overview of the technical solution of this application. In order to better understand the technical means of this application and to implement it in accordance with the contents of the specification, and to make the above and other objects, features and advantages of this application more obvious and understandable, the following are specific embodiments of this application. Attached Figure Description
[0072] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:
[0073] Figure 1 The illustration shows a schematic diagram of an implementation scenario of an AB experimental data processing method provided in this application.
[0074] Figure 2 A flowchart of an AB experiment data processing method provided in an embodiment of this application is shown;
[0075] Figure 3A schematic diagram of an AB experiment data processing method provided in an embodiment of this application is shown;
[0076] Figure 4 A flowchart of another AB experimental data processing method provided in an embodiment of this application is shown;
[0077] Figure 5 This invention provides a schematic diagram of the structure of an AB experimental data processing device according to an embodiment of the present application.
[0078] Figure 6 A schematic diagram of another AB experimental data processing device provided in an embodiment of this application is shown. Detailed Implementation
[0079] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present application, and not all of them. Based on the embodiments of the present application, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present application. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of the present application can be combined with each other.
[0080] A / B testing uses data to drive product iteration, verify algorithm effectiveness, and obtain results. It typically involves using different versions of the product, page, or algorithm as different experimental versions, allocating a portion of user traffic from the total user traffic to these different versions. Based on this, different experimental plans are set up for each version, and the effects of experimental metrics are observed and analyzed to obtain experimental conclusions.
[0081] In A / B testing, a traffic splitting algorithm (split rules) is used to distribute user traffic to the A / B test versions that need to be analyzed, in order to support subsequent data analysis. The traffic splitting algorithm in A / B testing needs to ensure that the user traffic allocated in each test version is as expected, and that the allocated user traffic meets the requirements of consistency, uniformity, and independence, so as to ensure the effectiveness of A / B testing.
[0082] Taking an A / B test of an APP product as an example, when a client user enters the APP page, the server will hit the test configuration data according to the traffic distribution algorithm. The server will determine the test configuration plan based on the test configuration data, including sending the corresponding configuration plan page file, rendering the page on the client, and listening through test points. When the user visits the page and performs various operations, user data and business data are collected through the data collection tool and reported to the server. Finally, the best version is evaluated and officially adopted based on business indicators.
[0083] During the research process, the inventors of this application discovered that the server typically formulates and maintains experimental configuration schemes through an experimental platform. When a user enters a page, the server device processes the page access request, parses the user identifier based on the page access request, and uses the user identifier to retrieve experimental configuration data from the experimental platform. This experimental configuration data includes at least two parts: one part is experimental content information, mainly used to define the experimental content, including defining the values and meanings of various fields related to the experiment; the other part is experimental tracking information, including data items such as experimental name, experimental ID, experimental content parameters, bucket name, bucket ID, page name, and page parameters. After obtaining the experimental configuration data from the experimental platform, the server device sends the corresponding page file to the client based on the experimental content information in the experimental configuration data, thereby performing page rendering and other processing. The inventors further discovered in their research that each time a user accesses a page, the server device returns experimental configuration data in the page access response. This leads to data transmission pressure, especially since the current page access request often hits multiple or even dozens of experiments. As mentioned earlier, the embedded information in the experimental configuration data generally includes many data items. In particular, the experimental configuration data is usually carried through the header of the transmission protocol message, and the header often has a limit on the amount of data that can be transmitted, thus resulting in poor transmission efficiency or even network congestion or failure.
[0084] Based on the above analysis, this application proposes an A / B test data processing method. By compressing and pre-caching the tracking information in the test configuration data on the client side, the server device does not need to obtain the original tracking information from the test platform and send it to the client every time. This saves network overhead, improves data transmission efficiency and page opening and processing success rate, and ensures the implementation of the A / B test traffic splitting algorithm.
[0085] See Figure 1 The diagram illustrates an implementation scenario of an AB experiment data processing method provided in this application. The scenario shows the client and server sides.
[0086] The server-side includes server equipment, an experimental platform, and underlying tracking tools. The server equipment can be understood as the server corresponding to the experimental object, such as an app or mini-program, used to handle client requests. The experimental platform is used to initiate A / B experiments and formulate experimental plans, such as the experimental versions included in the A / B experiment, the user traffic allocation ratio for each experimental version, the experimental lifecycle, and experimental metrics. Furthermore, the A / B experiment platform can also determine the user traffic allocation scheme for the A / B experiment. Experimental configuration data is stored in the experimental platform; specifically, in this embodiment, it stores original tracking information, compressed tracking information, and the compression / restoration relationship between the two. The underlying tracking tools are used to receive tracking information reported by the client.
[0087] The client can be understood as the terminal (mobile phone, computer, etc.) used by the user, and the experimental object such as an APP or mini-program installed or used on the user's terminal. The client further includes a platform integration tool and an application tracking tool. The platform integration tool communicates with the experimental platform on the server side, obtains the compression / reduction relationship from the experimental platform, and caches it locally on the client. The application tracking tool is started based on experimental tracking triggers, used to record relevant data captured by the experimental tracking and report it to the underlying tracking tool on the server side. Specifically, the application tracking tool obtains compressed tracking information from the page access response and obtains the compression / reduction relationship from the platform integration tool, thereby restoring the compressed tracking information to the original tracking information based on the compression / reduction relationship.
[0088] See Figure 2 The diagram illustrates a flowchart of an AB experimental data processing method provided in an embodiment of this application, for use by a client, including the following steps S201-S205.
[0089] S201: Send a page access request to the server.
[0090] When a user uses the app on their device and enters a page by clicking, the client responds to the user's click by sending a page access request to the server. This request includes the user's identifier. The user identifier can be user information such as UID, nickname, gender, country, region, and city, or it can include device information such as page type and browser parameters. In one example, the user parameter is a cookieID. The server then parses the user identifier from the page access request and uses that identifier to find the corresponding experimental configuration data on the experimental platform.
[0091] As analyzed above, in order to overcome the problem of the server carrying large amounts of experimental configuration data in each page access response to the client, this embodiment of the application proposes to compress the tracking information in the experimental configuration data and cache it locally on the client before page access. Therefore, before sending the page access request to the server, the following steps may also be included:
[0092] 11: In response to the application startup operation, a request is made to access the server's experimental platform through a pre-configured platform integration tool;
[0093] 12: Receive the compression / reduction relationship from the experimental platform through the platform interface tool;
[0094] 13: Cache the compression and restoration relationship locally.
[0095] For example, when the app starts, a pre-configured platform integration tool accesses the server-side experimental platform. The experimental platform then sends the pre-configured compression / reduction relationship to the integration tool, which stores this relationship in a cache. The platform integration tool can be implemented using an SDK (Software Development Kit). Similarly, application tracking tools and underlying tracking tools can also be implemented using SDKs.
[0096] The compression-to-restore relationship can be understood as the correspondence between the original and compressed tracking information. This correspondence can exist in the form of graphs, tables, or dictionaries. As described earlier, tracking information typically includes multiple data items such as experiment name, experiment ID, experiment content parameters, bucket name, bucket ID, page name, and page parameters. Therefore, each data item is compressed, and the compression-to-restore relationship is determined. By summarizing all the original and compressed data items, the compression-to-restore relationship is obtained. Table 1 shows the correspondence between the original and compressed data items of the tracking information.
[0097] Table 1
[0098] ahdbslkghkdgs.3IE34 A dkeeddjjehe.8E9E B Djdiej.8292fk C Odjejn_hrh.902i D … …
[0099] Table 1 above shows the correspondence between each original data item and compressed data item (this is only an illustrative example and does not represent the actual data item format or content). The original data items before compression contain a lot of information. Therefore, they are represented by compressed data items with less information. Only the compressed data items are carried in the page access response returned by the server to the client, thereby improving data transmission efficiency and success rate.
[0100] It is understood that any compression or encoding algorithm can be used to compress or encode the original data tracking information in this application, including lossless and lossy compression algorithms. Specific algorithms include Huffman coding, RLE (run-length encoding), Morse coding, and so on. Compression algorithms generally aim to find a balance between storage space and computation time. Therefore, different compression algorithms only differ in their compression effects; their essence is the same: replacing elements with more information with elements with less information and generating a conversion dictionary (compression-reduction relationship). The compressed data is then converted back to the original data according to the dictionary.
[0101] Taking the Huffman coding algorithm as an example, on the server-side experimental platform, the original tracking information is compressed in advance using the Huffman coding algorithm. That is, each original data item of the tracking information is encoded to obtain the corresponding compressed data item, and the correspondence between the original data item and the compressed data item is obtained. In this example, the compression and restoration relationship is called the Huffman restoration table. When the client starts (opens) the APP, it requests to obtain the Huffman restoration table from the experimental platform and caches it so that the Huffman restoration table can be obtained from the cache when accessing the page later.
[0102] S202: Receive the page access response returned by the server. The page access response contains compressed tracking information, wherein the compressed tracking information is the compressed tracking information of at least one A / B experiment that is matched based on the user identifier.
[0103] As analyzed above, when a user enters the page, the server device on the server side processes the page access request, parses the user identifier based on the page access request, and uses the user identifier to obtain the experimental configuration data from the experimental platform. It should be noted that for the current user's page access request, multiple experiments are often matched; therefore, the experimental configuration data is the experimental configuration data for multiple experiments. As described above, the experimental configuration data includes experimental content information and tracking information. Since the tracking information is large in volume and not essential in the page rendering process (the page file corresponding to the page rendering is determined based on the experimental content information), in this embodiment, the original tracking information is not carried in the page access response returned to the client; instead, compressed tracking information is carried. As analyzed above, after compressing each data item of the original tracking information using Huffman coding algorithms and other methods, the data volume of the compressed data items is significantly reduced. Therefore, returning compressed tracking information through the page access response will not put pressure on network transmission, which can improve the success rate of page access and A / B testing.
[0104] In one implementation, when responding to page access via the MTOP (Mobile Transport over Packet) communication protocol, the total field size of the MTOP header cannot exceed 1KB; otherwise, an error will occur. Therefore, in this case, using the original method of carrying raw experimental configuration data severely limits the implementation of A / B experiments. However, by using the method of this application, carrying compressed experimental configuration data in the MTOP header, the amount of compressed data is significantly reduced, thus effectively avoiding the problems caused by the aforementioned header limitation.
[0105] It is understandable that the page access response also includes experimental content information matched based on the user identifier; after receiving the page access response returned by the server, the client can also perform the following steps:
[0106] 21: Obtain the page file matched based on the experimental content information;
[0107] 22: Render the page based on the page file.
[0108] In one implementation, the server-side experimental platform uses a traffic splitting algorithm to match experimental content information (experimental configuration scheme) based on user identifiers, and then determines the corresponding page file based on the experimental content information. For example, M page files can be pre-stored on the server for A / B testing of the same page. These pages can be called page A, page B, or page n. The client can obtain the page files from the server. Page rendering can be client-side rendering or server-side rendering. In client-side rendering, for example, the client sends a request to the server, obtains the page file data, generates a DOM using JavaScript, inserts it into the HTML page, and finally renders it to the user. In this method, the DOM in the client-side page is generated by executing JavaScript. In server-side rendering, the server-side device completes the HTML assembly and then sends it to the browser. The browser parses the HTML, loads a small amount of necessary JavaScript, and executes the JavaScript to activate the page. In this method, the server sends the assembled HTML string and a small amount of JavaScript to the client, and the client is only responsible for parsing the HTML and executing the JavaScript to activate the page.
[0109] S203: Based on the triggering of experimental data points, read the local pre-cached compression-restore relationship, and restore the compressed data point information to the original data point information according to the compression-restore relationship.
[0110] Event tracking, also known as event monitoring, refers to the process of capturing, processing, and reporting specific user behaviors or events. Event tracking is used to collect user behavior data; for example, to understand which buttons a user clicked, which pages they viewed, and what actions they performed within an app, event tracking can be used. In this embodiment, experimental event tracking can be understood as code embedded in a page or button for A / B testing purposes, thereby monitoring user behavior and collecting and reporting it.
[0111] In one implementation, triggering the reading of the locally pre-cached compression-reduction relationship based on experimental data points may specifically include the following steps:
[0112] 31: Trigger experimental tracking points during page rendering or page access;
[0113] 32: Based on the triggering of experimental data points, the pre-set application data point tool is launched to read the compression and restoration relationship from the local cache.
[0114] In one implementation, restoring the compressed experimental configuration data to the original experimental configuration data based on the compression-reduction relationship may specifically include the following steps:
[0115] 33: By comparing the compression and restoration relationship, find the original data items corresponding to each compressed data item in the compressed embedding information;
[0116] 34: Summarize the original data items to obtain the original data tracking information.
[0117] As shown in the example in Table 1 above, the client obtains the compression tracking information (including compressed data items A, B, C, D, etc.) from the page access response returned by the server. By obtaining the compression and restoration relationship as shown in Table 1 from the local cache, the client finds the original data items corresponding to each compressed data item (ahdbslkghkdgs.3IE34, dkeeddjjehe.8E9E, Djdiej.8292fk, Odjejn_hrh.902i).
[0118] In one implementation, a field can be added to the page access response to indicate whether the tracking information is compressed. For example, if the result of this field is "true", it indicates that the tracking information carried in the page access response is compressed and the compression and restoration table needs to be read from the local cache. If the result of the field is "false", it can be handled according to the existing technical solution.
[0119] S204: Upload the original data tracking information to the server.
[0120] In one implementation, the application tracking tool on the client side interfaces with the underlying tracking tool on the server side. The application tracking tool stores the restored original tracking information into the underlying tracking tool for subsequent A / B testing data analysis.
[0121] See Figure 3 This diagram illustrates an A / B test data processing method according to an embodiment of this application. The diagram primarily describes the execution order, without clearly separating the modules into client and server sides. It is understood that application tracking tools, platform integration tools, and caching are located on the client side, while server equipment, the experimental platform, and underlying tracking tools are located on the server side. This example uses the Huffman coding algorithm for illustration.
[0122] S301: When the APP starts, the client accesses the experimental platform interface and requests access to the experimental platform on the server.
[0123] S302: The server sends the Huffman restoration table to the experimental platform tool in the experimental platform access response;
[0124] S303: The experimental platform tools cache the Huffman reduction table;
[0125] S304: The user enters the page, and the page requests the server device interface;
[0126] S305: The server device accesses the experimental platform and retrieves the experimental configuration data (experimental content information + compressed data entry point information) based on the user identifier;
[0127] S306: The server device returns a page access response, which includes compressed embedding information in the MTOP Header;
[0128] S307: When experimental tracking is triggered based on page rendering, the compressed tracking information in the MTOP Header is passed to the application tracking tool.
[0129] S308: Obtain the local cached Huffman restore table in the application's event tracking tool, and restore the compressed event tracking information to the original event tracking information.
[0130] S309: Use the tracking tool to store the original tracking information into the underlying tracking tool.
[0131] Let me illustrate with a specific example.
[0132] Assume the original data tracking information is as follows:
[0133] MTOP-x-jvs-ut-v2{'a2ogi.11834775':'394332_1569540_1_2.394324_1569524_1_4','a2ogi.b68407963':'397428_15789 72_1_11.394324_1569524_1_4.369612_1502892_1_6','a2ogi.11834809':'394324_1569524_1_4.397428_1578972_1_11'}
[0134] The data structure is an SPM structure: 'a2ogi.11834775', where SPM represents the current page structure. For example, e = a2ogi.11834809 represents the order form page.
[0135] Experiment ID_bucket ID_*_*.Experiment ID2_bucket ID2_*_*: "394332_1569540_1_2.394324_1569524_1_4".
[0136] Because the total length of the MTOP Header is limited to 4k, the size of the MTOP-x-jvs-ut-v2 field is limited to 1k. In the example, the length of the 7 experiments is 194 characters (the average length of each experiment is about 28 characters). Roughly calculated, the maximum number of experiments that can be supported is 1000 / 28 = 35.7, which means that no more than 35 experiments can be supported.
[0137] In this embodiment, the Huffman coding algorithm is used to compress the embedded information. For example, it is shown below:
[0138] a=a2ogi.11834775
[0139] b = 394324_1569524_1_4
[0140] c = 397428_1578972_1_11
[0141] d=a2ogi.b68407963
[0142] e = a2ogi.11834809
[0143] f = 394332_1569540_1_2
[0144] g = 369612_1502892_1_6
[0145] The compressed tracking information is {'a':'f.b','d':'cbg','e':'b.c'}
[0146] After compression, the length of the 7 experiments is 33 characters. A rough calculation shows the maximum number of experiments that can be supported is 1000 / (33 / 7) = 212.31, meaning 212 experiments can be performed at once. The maximum number of experiments has increased by 212 / 35 = 6.05 times.
[0147] As can be seen, the A / B test data processing method provided in this application carries compressed tracking information in the page access response returned by the server, thereby reducing network transmission pressure. By pre-caching the compression and restoration relationship locally on the client, the compressed tracking information is restored to the original tracking information when the experimental tracking is triggered. Since the amount of tracking information after compression is significantly reduced compared to before compression, this application embodiment can effectively reduce network transmission pressure. In addition, since the amount of tracking information transmitted for each A / B test is greatly reduced, more A / B tests can be supported at once for the current page access operation, effectively improving the efficiency of A / B tests.
[0148] See Figure 4 The diagram illustrates another AB experimental data processing method provided in this application embodiment. This method is used on a server side and includes the following steps:
[0149] S401: Receive page access requests sent by the client;
[0150] S402: Return a page access response to the client, the page access response containing compressed tracking information, so that the client obtains the compressed tracking information and reads the locally pre-cached compression-restore relationship based on the triggering of experimental tracking points, and restores the compressed tracking information to the original tracking information, wherein the compressed tracking information is the compressed tracking information of at least one AB experiment hit according to the user identifier.
[0151] S403: Receives raw data tracking information uploaded by the client.
[0152] In one implementation, before receiving the page access request sent by the receiving server, the method further includes:
[0153] 41: Receive the experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-set platform docking tool in response to the application startup operation;
[0154] 42: The compression and restoration relationship is sent to the platform interface tool through the experimental platform, so that the client caches the compression and restoration relationship locally.
[0155] One implementation also includes:
[0156] 401: Determine the data compression algorithm, compress the original embedded information according to the data compression algorithm, and determine the correspondence between the original data items and the compressed data items;
[0157] 402: The correspondence between the original data items and the compressed data items is used as the compression-restoration relationship and stored on the experimental platform.
[0158] In one implementation, after receiving the page access request sent by the receiving server, the method further includes:
[0159] 43: Based on the page access request, parse out the user identifier;
[0160] 44: Based on the user identifier, locate the experimental configuration data corresponding to the user identifier on the experimental platform, wherein the experimental configuration data includes experimental content information and compression tracking information.
[0161] In one implementation, the page access response further includes the experiment content information, and the method further includes:
[0162] 45: Determine the page file based on the experimental content information;
[0163] 46: Provide the page file to the client so that the client can render the page based on the page file.
[0164] In one implementation, the original tracking information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed tracking information includes compressed data items corresponding to each original data item.
[0165] about Figure 4 For corresponding embodiments, related principles and explanations, please refer to... Figure 1-3 Related explanations will not be elaborated here.
[0166] See Figure 5 The diagram illustrates a schematic of an AB experimental data processing device provided in an embodiment of this application. This device is used on a client side and includes:
[0167] Page request unit 501 is used to send a page access request to the server and receive a page access response returned by the server. The page access response includes compressed tracking information, which is compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0168] The compression and restoration unit 502 is used to read the local pre-cached compression and restoration relationship based on the triggering of the experimental embedding points, and restore the compressed embedding point information to the original embedding point information according to the compression and restoration relationship.
[0169] The event tracking reporting unit 503 is used to upload the original event tracking information to the server.
[0170] One implementation also includes:
[0171] The platform interface unit 5001 is used to respond to the application startup operation by requesting access to the experimental platform on the server through a pre-set platform interface tool; and to receive the compression and restoration relationship issued by the experimental platform through the platform interface tool.
[0172] The caching unit 5002 caches the compression-restore relationship locally.
[0173] In one implementation, the page access response also includes experimental content information matched based on the user identifier;
[0174] The device further includes:
[0175] The page rendering unit 504 is used to obtain a page file matched according to the experimental content information and to perform page rendering based on the page file.
[0176] In one implementation, the compression and restoration unit 502 is specifically used to trigger experimental data points during page rendering or page access; based on the triggering of the experimental data points, to start a pre-set application data point tool to read the compression and restoration relationship from the local cache.
[0177] In one implementation,
[0178] The original data tracking information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed data tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or a data encoding algorithm.
[0179] In one implementation,
[0180] The compression and restoration unit 502 is specifically used to find the original data items corresponding to each compressed data item of the compressed embedding information by referring to the compression and restoration relationship, and to summarize the original data items to obtain the original embedding information.
[0181] See Figure 6This illustration shows a schematic diagram of another AB experimental data processing device provided in an embodiment of this application. The device is used as a server and includes:
[0182] The page response unit 601 is used to receive a page access request sent by the client and return a page access response to the client. The page access response contains compressed tracking information, which enables the client to obtain the compressed tracking information and read the local pre-cached compression and restoration relationship based on the triggering of the experimental tracking points, and restore the compressed tracking information to the original tracking information. The compressed tracking information is the compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0183] The event tracking receiving unit 602 is used to receive the original event tracking information uploaded by the client.
[0184] One implementation also includes:
[0185] The platform response unit 6001 is used to receive an experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-set platform docking tool in response to the application startup operation; and the experimental platform issues the compression and restoration relationship to the platform docking tool, so that the client caches the compression and restoration relationship locally.
[0186] One implementation also includes:
[0187] The compression processing unit 6002 is used to determine a data compression algorithm, compress the original embedded information according to the data compression algorithm, determine the correspondence between the original data items and the compressed data items, and store the correspondence between the original data items and the compressed data items as the compression-restoration relationship on the experimental platform.
[0188] One implementation also includes:
[0189] The configuration hit unit 603 is used to parse out the user identifier according to the page access request, and to find the experimental configuration data corresponding to the user identifier on the experimental platform according to the user identifier, wherein the experimental configuration data includes experimental content information and compressed embedding information.
[0190] In one implementation, the page access response further includes the experiment content information, and the device further includes:
[0191] The page rendering control unit 604 is used to determine the page file based on the experimental content information, and to provide the page file to the client so that the client can perform page rendering based on the page file.
[0192] In one implementation,
[0193] The original data entry information includes at least one of the following original data items: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information; the compressed data entry information includes the compressed data items corresponding to each original data item.
[0194] Embodiments of this application also provide a storage medium storing a computer program, wherein the computer program is configured to execute the steps in any of the above method embodiments when running.
[0195] Optionally, in this embodiment, the storage medium may be configured to store a computer program for performing the following steps:
[0196] (1) Send a page access request to the server;
[0197] (2) Receive the page access response returned by the server, wherein the page access response contains compressed tracking information, wherein the compressed tracking information is the compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0198] (3) Based on the triggering of the experimental data points, read the local pre-cached compression and restoration relationship, and restore the compressed data point information to the original data point information according to the compression and restoration relationship;
[0199] (4) Upload the original embedding information to the server.
[0200] or,
[0201] (1) Receive page access requests sent by the client;
[0202] (2) Return a page access response to the client, the page access response containing compressed tracking information, so that the client can obtain the compressed tracking information and read the local pre-cached compression and restoration relationship based on the triggering of the experimental tracking, and restore the compressed tracking information to the original tracking information, wherein the compressed tracking information is the compressed tracking information of at least one AB experiment hit according to the user identifier.
[0203] (3) Receive the original data tracking information uploaded by the client.
[0204] Optionally, in this embodiment, the storage medium may include, but is not limited to, various media capable of storing computer programs, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0205] Embodiments of this application also provide an electronic device, including a memory and a processor, wherein the memory stores a computer program and the processor is configured to run the computer program to perform the steps in any of the above method embodiments.
[0206] Optionally, the electronic device may further include a transmission device and an input / output device, wherein the transmission device is connected to the processor and the input / output device is connected to the processor.
[0207] Optionally, in this embodiment, the processor can be configured to perform the following steps via a computer program:
[0208] (1) Send a page access request to the server;
[0209] (2) Receive the page access response returned by the server, wherein the page access response contains compressed tracking information, wherein the compressed tracking information is the compressed tracking information of at least one A / B experiment hit according to the user identifier.
[0210] (3) Based on the triggering of the experimental data points, read the local pre-cached compression and restoration relationship, and restore the compressed data point information to the original data point information according to the compression and restoration relationship;
[0211] (4) Upload the original embedding information to the server.
[0212] or,
[0213] (1) Receive page access requests sent by the client;
[0214] (2) Return a page access response to the client, the page access response containing compressed tracking information, so that the client can obtain the compressed tracking information and read the local pre-cached compression and restoration relationship based on the triggering of the experimental tracking, and restore the compressed tracking information to the original tracking information, wherein the compressed tracking information is the compressed tracking information of at least one AB experiment hit according to the user identifier.
[0215] (3) Receive the original data tracking information uploaded by the client.
[0216] Optionally, specific examples in this embodiment can refer to the examples described in the above embodiments and optional implementations, and will not be repeated here.
[0217] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0218] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0219] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0220] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0221] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0222] If the integrated unit is implemented as 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 the 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 to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.
[0223] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.
Claims
1. A method for processing AB experimental data, characterized in that, For client use, including: In response to the application startup operation, the system requests access to the server's experimental platform through a pre-configured platform integration tool; it receives the compression and restoration relationship issued by the experimental platform through the platform integration tool; and it caches the compression and restoration relationship locally. Send a page access request to the server; The system receives a page access response from the server. This response contains compressed tracking information, carried via the MTOP Header. The compressed tracking information is the tracking information for at least one A / B experiment matched by the user identifier. The page access response also includes a field indicating whether the tracking information is compressed. The original tracking information includes at least one original data item from the following: experiment name, experiment ID, experiment content parameters, bucket name, bucket ID, page name, and page parameters. The compressed tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or a data encoding algorithm. During page rendering or page access, experimental tracking points are triggered. Based on the triggering of experimental tracking points, the local pre-cached compression and restoration relationship is read, and the original data items corresponding to each compressed data item of the compressed tracking point information are found by referring to the compression and restoration relationship. The original data items are summarized to obtain the original tracking point information. The compression and restoration relationship is a chart or dictionary that records the mapping relationship between the original tracking point information and the compressed tracking point information. The original data entry information is uploaded to the server.
2. The method according to claim 1, characterized in that, The page access response also includes experimental content information matched based on the user identifier; After receiving the page access response returned by the receiving server, the method further includes: Obtain the page file that matches the experimental content information, and render the page based on the page file.
3. The method according to claim 2, characterized in that, The triggering based on experimental data points, which reads the locally pre-cached compression and restoration relationship, includes: Based on the triggering of the experimental data points, the pre-set application data point tool is launched to read the compression and restoration relationship from the local cache.
4. A method for processing AB experimental data, characterized in that, For server-side use, including: Receive an experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-configured platform interface tool in response to the application startup operation; The experimental platform sends the compression and restoration relationship to the platform interface tool, enabling the client to cache the compression and restoration relationship locally. Receive page access requests sent by the client; The system returns a page access response to the client, which includes compressed tracking information. This compressed tracking information is obtained through the MTOP header of the page access response. The header carries information that enables the client to obtain compressed tracking information and trigger experimental tracking during page rendering or page access. Based on the triggering of experimental tracking, the client reads the pre-cached compression-reduction relationship locally, compares it with the compression-reduction relationship, finds the original data items corresponding to each compressed data item in the compressed tracking information, and summarizes the original data items to obtain the original tracking information. The compressed tracking information is the compressed tracking information of at least one A / B experiment matched by the user identifier. The page access response also includes a field indicating whether the tracking information is compressed. The original tracking information includes at least one original data item from the following: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information. The compressed tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or data encoding algorithm. The compression-reduction relationship is a chart or dictionary recording the mapping relationship between the original tracking information and the compressed tracking information. Receive the raw tracking information uploaded by the client.
5. The method according to claim 4, characterized in that, Also includes: Determine the data compression algorithm, compress the original embedded information according to the data compression algorithm, and determine the correspondence between the original data items and the compressed data items; The correspondence between the original data items and the compressed data items is used as the compression-restoration relationship and stored on the experimental platform.
6. The method according to claim 4, characterized in that, After receiving the page access request sent by the receiving server, the following is also included: Based on the page access request, the user identifier is parsed out; Based on the user identifier, the experimental configuration data corresponding to the user identifier is retrieved on the experimental platform. The experimental configuration data includes experimental content information and compression tracking information.
7. The method according to claim 6, characterized in that, The page access response also includes the experimental content information, and the method further includes: Based on the experimental content information, determine the page file; The page file is provided to the client, enabling the client to render the page based on the page file.
8. An AB experiment data processing device, characterized in that, For client use, including: The platform interface unit is used to respond to the application startup operation by requesting access to the experimental platform on the server through a pre-set platform interface tool; and to receive the compression and restoration relationship issued by the experimental platform through the platform interface tool. The caching unit caches the compression-reduction relationship locally; A page request unit is used to send a page access request to the server and receive a page access response returned by the server. The page access response includes compressed tracking information, which is carried through the MTOP Header of the page access response. The compressed tracking information is the compressed tracking information of at least one A / B experiment matched based on the user identifier. The page access response also includes a field indicating whether the tracking information is compressed. The original tracking information includes at least one original data item from the following: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information. The compressed tracking information includes compressed data items corresponding to each original data item, wherein the correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or a data encoding algorithm. The compression and restoration unit is used to trigger experimental tracking points during page rendering or page access. Based on the triggering of the experimental tracking points, it reads the local pre-cached compression and restoration relationship and finds the original data items corresponding to each compressed data item of the compressed tracking point information by referring to the compression and restoration relationship. It summarizes the original data items to obtain the original tracking point information. The compression and restoration relationship is a chart or dictionary that records the mapping relationship between the original tracking point information and the compressed tracking point information. The event tracking reporting unit is used to upload the original event tracking information to the server.
9. The apparatus according to claim 8, characterized in that, The page access response also includes experimental content information matched based on the user identifier; The device further includes: The page rendering unit is used to obtain a page file matched based on the experimental content information and to render the page based on the page file.
10. The apparatus according to claim 8, characterized in that, The compression and restoration unit is specifically used to, based on the triggering of the experimental data points, start a pre-set application data point tool to read the compression and restoration relationship from the local cache.
11. An AB experiment data processing device, characterized in that, For server-side use, including: The platform response unit is used to receive an experimental platform access request sent by the server, wherein the server sends the experimental platform access request through a pre-configured platform docking tool in response to the application startup operation; and the experimental platform issues a compression and restoration relationship to the platform docking tool, so that the client caches the compression and restoration relationship locally. A page response unit is used to receive a page access request sent by a client and return a page access response to the client. The page access response contains compressed tracking information, which is carried through the MTOP Header of the page access response. This allows the client to obtain the compressed tracking information and trigger experimental tracking during page rendering or page access. By comparing the compression and restoration relationship, the original data items corresponding to each compressed data item in the compressed tracking information are found. The original data items are then summarized to obtain the original tracking information. The compressed tracking information is the compressed tracking information of at least one A / B experiment matched by the user identifier. The page access response also includes a field indicating whether the tracking information is compressed. The original tracking information includes at least one original data item from the following: experiment name information, experiment ID, experiment content parameter information, bucket name information, bucket ID, page name information, and page parameter information. The compressed tracking information includes compressed data items corresponding to each original data item. The correspondence between the original data items and the compressed data items is determined according to a data compression algorithm or data encoding algorithm. The compression and restoration relationship is a chart or dictionary recording the mapping relationship between the original tracking information and the compressed tracking information. The event tracking receiving unit is used to receive the raw event tracking information uploaded by the client.
12. The apparatus according to claim 11, characterized in that, Also includes: The compression processing unit is used to determine a data compression algorithm, compress the original embedded information according to the data compression algorithm, determine the correspondence between the original data items and the compressed data items, and store the correspondence between the original data items and the compressed data items as the compression-restoration relationship on the experimental platform.
13. The apparatus according to claim 11, characterized in that, Also includes: The configuration hit unit is used to parse out the user identifier based on the page access request, and to find the experimental configuration data corresponding to the user identifier on the experimental platform based on the user identifier, wherein the experimental configuration data includes experimental content information and compressed embedding information.
14. The apparatus according to claim 13, characterized in that, The page access response also includes the experimental content information, and the device further includes: The page rendering control unit is used to determine the page file based on the experimental content information, and to provide the page file to the client so that the client can perform page rendering based on the page file.
15. A storage medium, characterized in that, The storage medium stores a computer program, wherein the computer program is configured to execute the method described in any one of claims 1 to 7 when it is run.
16. An electronic device comprising a memory and a processor, characterized in that, The memory stores a computer program, and the processor is configured to run the computer program to perform the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Page transmission method, device and system
CN103731493A