Detailed Description
The technical solutions in the examples of the present application will be clearly and completely described below with reference to the drawings in the examples of the present application, and it is obvious that the described examples are only a part of the examples of the present application, and not all examples. All other examples, which can be obtained by a person skilled in the art without making any inventive step based on the examples in this application, are within the scope of protection of this application.
In some examples, when a user browses page content or watches a video using an application client (e.g., a video client, a news client, a browser, etc.), the application client may send an information push request carrying user information and/or device information to a delivery engine server, and when the delivery engine service responds to the information push request and pushes information by the application client, an order matching the information push request is selected from existing orders in the system, and relevant parameters of push information described by the selected order (e.g., URL parameters of a video advertisement or a news article) are sent to the application client, so that the application client can obtain push information corresponding to the selected order.
On the other hand, some unselected push information orders may exist in the system, and it is necessary to analyze whether the push information order is abnormal and the reason for the abnormality. In this example, the above analysis is performed by a manual method, and the detailed information of the pushed information order and the menu result information of the delivery engine server are combined during the analysis, which may involve multiple platform systems such as a pushed information operation platform (e.g., ad exchange platform ADX), a pushed information delivery system (e.g., ad delivery platform), and a resource management platform (e.g., data management platform DMP), where an abnormal problem of the pushed information order may be that the order is not selected according to an information delivery request, and the reason for the abnormality may be that the information delivery request does not satisfy a certain targeting condition (e.g., regional targeting, age targeting, etc.) described by the order, or a certain condition of the information delivery request is in a blacklist (i.e., blacklist information) of the corresponding order, and so on.
The inventor of the present application has found in the course of research that the technical solution of the above example may have the following problems.
Firstly, the solution of the above example cannot find out the problematic orders early, and it is necessary to wait until the orders are actually executed to draw a conclusion that there is no problem, and only passively solve the problem, but not actively eliminate the problem; secondly, the above solution requires the problem analyst to have a deep understanding of the business and the related technical details, and to be familiar with the multiple platform systems used in the analysis process, which results in high learning cost for the related personnel, and seriously affects the problem solving efficiency.
In view of the above technical problem, the present application provides a data diagnosis apparatus, which can be applied to the system architecture shown in fig. 1. As shown in fig. 1, the system architecture includes at least: adata source 101, adata diagnosis device 102 and aplacement engine server 104. Thedevice 102 obtains data for an order from adata source 101, the data comprising: order ID and orientation conditions of the order; constructing an information pushing request matched with the orientation condition corresponding to each order ID aiming at each order ID; sending the constructed information push request to thedelivery engine server 104, so that thedelivery engine server 104 performs menu processing on the information push request and obtains a menu result. Thedevice 102 receives each menu result for each information push request returned by thedelivery engine server 104, and analyzes an unselected reason of an unselected order according to the menu result to obtain an analysis result, where the analysis result includes: the information of the order with abnormal menu processing and the reason of the abnormal menu processing.
The system architecture may further include adata storage server 103, and thedata diagnosis device 102 sends each constructed information push request to thedata storage server 103, and the information push request is saved by thedata storage server 103. When the order is to be analyzed, part or all of the information push request is extracted from thedata storage server 103 and sent to thedelivery engine server 104. Further, thedata diagnosis apparatus 102 may transmit the analysis result to thedata storage server 103 for storage. An external device (server or user terminal) can extract these analysis results by accessing thedata storage server 103.
Thedata diagnosing apparatus 102 may be located in a newly added server device in the network, or may be integrated in an existing server device in the network, such as thedelivery engine server 104 or thedata storage server 103.
When the pushed information is an advertisement, the system shown in fig. 1 is configured as an internet-based advertisement order data diagnosis system, where the information pushing request is an advertisement exposure request, and thedata diagnosis device 102 is an advertisement order data diagnosis device.
In an example, the present application also proposes a data diagnosis method applied to the above-mentioneddevice 102, as shown in fig. 2, the method includes the following steps:
step 201: obtaining data for an order from a data source, the data comprising: order ID and orientation conditions of the order.
In some examples, the data source may be data stored by thedata storage server 103 or a cache server in a network, or the like. Such data may be in the form of a database or a configuration file.
In some examples, the obtaining data for an order includes: data is obtained for a set of orders meeting predetermined conditions. For example, the data of the specified order may be all orders in the specified date, and related information carried by the order, such as an order ID and various orientation conditions (e.g., regional orientation, age orientation, etc.).
Step 202: and constructing an information push request matched with the orientation condition corresponding to each order ID.
Here, one information push request is constructed for each order, and may be constructed according to all the orientation conditions of the order. The constructed information push request can also be sent to thedata storage server 103 for storage.
In some examples, the constructing an information push request matching the targeting condition corresponding to the order ID includes: constructing a field matched with each orientation condition corresponding to the order ID; and generating an information push request containing the constructed fields. Wherein the constructed field includes URL parameters and/or cookie parameters that can embody user features and/or device features corresponding to the targeting conditions, such as: the region where the user is located can be reflected, such as Beijing or Shanghai; the age of the user can be reflected, and the model of the user equipment, the type of an operating system (android or IOS) and the like can also be reflected.
In some examples, for each targeting condition corresponding to the order ID, constructing a field matching the targeting condition includes: judging whether a content orientation condition exists, if so, acquiring the information of the media content matched with the content orientation condition, and constructing a field matched with the content orientation condition according to the information of the media content; if not, constructing a field corresponding to the content orientation condition according to the information of the preset media content; and for each non-content targeting condition, constructing a field that matches the non-content targeting condition.
In some examples, the obtaining information of the media content matching the content targeting condition includes: acquiring the media content type corresponding to the order ID; selecting one of the media content types; acquiring album information corresponding to the selected media content type, such as album cover information; selecting one piece of media content information from the album information; and constructing a field matched with the content targeting condition according to the selected media content information.
The media content type may be tag (tag) information of the media content (such as comedy, love, song, and the like, which can embody keywords of the media content), or a media content dimension (such as multiple dimensions of women, art, weekend playing, and the like, which describe the media content), and the like. Therefore, tag information or media content dimension corresponding to the order ID can be obtained from the data of the order, and then album information is obtained from the related data table according to the tag information or the media content dimension. Here, the associated data table may be retrieved from a data source.
In some examples, the constructing, for each targeting condition corresponding to the order ID, a field matching the targeting condition further includes: before judging whether a content orientation condition exists, judging whether the order is a live order; if the order is a live order, acquiring stream information of the live order, acquiring content dimension corresponding to the stream information, and constructing a field matched with live conditions of the live order according to the content dimension; and if the order is not a live order, executing the processing of judging whether the content orientation condition exists.
In some examples, the method flow shown in FIG. 3 is employed to construct fields related to the targeting conditions of the order.
Step 301: the order of the specified date is obtained, for example, all orders of xx month xx day of xx year, and the order ID and the orientation condition of the order are obtained at the same time.
Step 302: for any order, judging whether the order has content oriented conditions (such as movies, televisions, art and the like), if so, executing steps 303-305 and 308, and ending the current process; otherwise, executing steps 306-308 and ending the current process.
Step 303: if the order has content targeting conditions (such as an order for movie-like media content), acquiring tag (tag) information (such as tags of comedy, love, song and dance, which may be tag ID) corresponding to the order.
Step 304: selecting a tag information, and then screening to obtain album cover information (such as an album ID or a cover ID) corresponding to the tag information by using the selected tag information, where the album cover information may list information of each media content corresponding to the album cover information, such as an Identifier (ID) of each video corresponding to the album cover information.
Step 305: selecting a piece of media content information (e.g., an ID of a video) from the album cover information, such as an ID of a video selected by the album ID to satisfy a condition or an ID of an optional video, and go tostep 308.
Step 306: for orders for which no content targeting condition exists, album cover information of a predetermined type is acquired from the relevant data table. Such as: album cover information in the content dimension that starts the reflow may be obtained. In a video playback system, for video content in certain content dimensions, the system has no strict constraints on order targeting of advertisements to be played therewith, such as: movie content dimensions may be allowed to flow back to conventional content dimensions, and then advertisements corresponding to orders targeting conventional content dimensions may be allowed to play in the video content of the movie content dimensions.
Step 307: and selecting information of the preset media content from the album cover information.
Step 308: and constructing a request field of the advertisement exposure request by using the obtained information, storing the advertisement exposure request into a data storage server, and ending the current process.
In some examples, afterstep 301, the following steps are further included:
step 309: judging whether the order is a live order, if so, executing steps 310-311 and 308; otherwise, the above steps 302-308 are executed.
Step 310: stream information (such as a variety program) of the live order is obtained from the relevant data table.
Step 311: the content dimension corresponding to the stream information of the live order is obtained (for example, the content dimension corresponding to the variety program is the variety), and then the process goes to step 308. Here, the acquired content dimension may be Adid information of a live order.
Similarly, other fields in the information push request may be constructed using other targeting conditions.
Step 203: and sending the constructed information push request to a release engine server so that the release engine server performs menu processing on the information push request and obtains a menu result.
Step 204: and receiving each menu result which is returned by the release engine server and aims at each information pushing request.
In some examples, the delivery engine server may perform menu processing on the orders based on the information push request, and for a certain order, there are two possibilities of being selected and not being selected. Failure of the placement engine server to select the order may be due to the content of the order being longer than the duration limit of the media content presentation bits, the media content presentation bits having been used up in duration resulting in the order not being pushed normally, being filtered based on a browser frequency limit, being filtered based on a ginkgo blacklist, being filtered up to a cloud frequency control upper limit, etc.
Step 205: analyzing the unselected reasons of the unselected orders according to the menu result to obtain an analysis result, wherein the analysis result comprises: the information of the order with abnormal menu processing and the reason of the abnormal menu processing.
Here, the order in which the menu processing is abnormal includes: the order with incorrect reasons given by the placement engine server can also comprise the order with reasons which cannot be determined through analysis.
In some examples, the reasons for the order missed may be further analyzed in conjunction with the targeting conditions and blacklist information for the order.
In some examples, the menu result includes: selecting an order list, a candidate order list and an unselected reason, wherein the directional condition of any order indicated by the selected order list is matched with the corresponding information pushing request and is selected, the directional condition of any order indicated by the candidate order list is matched with the corresponding information pushing request but is not selected, and the unselected reason is the reason that the order given by the delivery engine server is not selected; and analyzing the unselected reasons of the unselected orders to obtain an analysis result, wherein the analysis result comprises the following steps: for each unselected order indicated by the menu result, executing the following processing: if the order belongs to the candidate order list, analyzing whether the unselected reason of the order in the menu result is correct or not, and recording the analysis result; and if the order does not belong to the candidate order list, analyzing whether the orientation condition of the order is matched with the corresponding information pushing request or not, and recording the analysis result.
In some examples, the processing performed for each non-selected order indicated by the menu result further includes: and if the orientation condition of the order is matched with the corresponding information pushing request, analyzing whether the information pushing request corresponding to the order belongs to a blacklist of the order.
In some examples, the processing performed for each non-selected order indicated by the menu result further includes: and if the directional condition of the order is matched with the corresponding information pushing request and the order is a live order, analyzing whether the corresponding information pushing request is matched with the live condition of the live order or not.
For example, the method shown in fig. 4 may be adopted to analyze the unselected reason of the unselected order and obtain the analysis result.
When the reason is analyzed, a candidate order list meeting the information pushing request can be obtained firstly, then a selected order list is screened out by the candidate order list through a launching engine server, and the selected order list is a subset of the candidate order list; and finally, performing reason analysis on other orders which are not put in the candidate order list and orders which do not meet the information pushing request (namely orders outside the candidate order list).
The following is a processing flow for analyzing a menu result of an information push request. In decision analysis, the delivery engine server will fetch a set of orders (e.g., orders of specified dates) as test orders, and use these test orders to perform menu processing. For each test order, the following is performed:
step 401: judging whether the order is in the selected order list or not, and if so, ending the current process; if not, step 402 is performed.
Step 402: judging whether the order is in a candidate order list, if so, performing reason analysis, and executingstep 403; if not, then the reason for the order being filtered (i.e., neither in the selected order list nor in the candidate order list) is analyzed and step 406 is performed.
Step 403: the reason why the order is not selected is analyzed, and may be the reason given by the placement engine server, such as duration limit, advertisement slot duration exhaustion, browser frequency (frequency: uv (user view) filtering which refers to a specific number of times the advertisement is viewed), ginkgo blacklist filtering, cloud frequency upper limit, crowd filtering, and so on.
Step 404: judging whether the reason is listed above, if so, recording the reason and order information (such as order ID), and ending the current process; if not, then the analysis continues for other reasons and step 405 is performed.
Step 405: the cause of the filtration (e.g., population filtration and other filtration conditions) is analyzed. Here, the filtering reason is the reason why the order is filtered out and not selected.
Step 406: judging whether the information pushing request meets the gender orientation condition of the order, if not, recording the filtering reason and the order information, namely the reason that the order is not selected is that the information pushing request does not meet the gender orientation condition of the order, and ending the current process; if so,step 407 is executed to make the next determination of the orientation condition.
Step 407: judging whether the information pushing request meets the age-oriented condition of the order or not, if not, recording a filtering reason and order information, namely the reason that the order is not selected is that the information pushing request does not meet the age-oriented condition of the order, and ending the current process; if so,step 408 is performed to make the next directional condition determination.
Step 408: judging whether the information pushing request meets the region orientation condition of the order, if not, recording the filtering reason and the order information, namely the reason that the order is not selected is that the information pushing request does not meet the region orientation condition of the order, and ending the current flow; if so,step 409 is executed for the next orientation condition determination.
Step 409: judging whether the information pushing request meets the time orientation condition of the order, if not, recording the filtering reason and the order information, namely the reason that the order is not selected is that the information pushing request does not meet the time orientation condition of the order, and ending the current process; if so,step 410 is performed to make the next conditional determination.
The determination sequence of the above orientation conditions can be changed, that is, the execution sequence ofsteps 406 to 409 can be flexibly adjusted.
Step 410: respectively judging whether the directional information of the information pushing request is in a relevant blacklist (such as a region blacklist and a tag blacklist) of the order, and if so, recording specific blacklist information and order information; if not, recording the unknown reason and the order information. Here, the blacklist is determined when all the orientation conditions are satisfied, optionally, the blacklist may be determined first, and the present application is not limited thereto.
The judgment of the various orientation conditions and the judgment of the blacklist can be exchanged.
Step 411: judging whether the order is a live order, if so, performing special judgment on live conditions in the order, such as whether live time is satisfied, whether live stream binding is normal and the like, and if not, recording the reason and order information; and if the live stream is not normally bound, recording the reason and the order information, and if the reason is not any reason or is not a live order, recording unknown reason and order information.
Here, the order with abnormal menu processing includes: if the order analyzed in steps 405-411 (i.e. the order for which the reason given by the delivery engine server is incorrect), the reason for the abnormal menu processing includes: the reasons for the filtering and unknown reasons analyzed in steps 405-411.
In some instances, orders that are not causal, i.e., correspond to "unknown causes," may be forwarded for further analysis processing by a human.
By adopting the scheme, the abnormal orders can be intelligently analyzed, the problems in the orders can be found in advance, and the problems can not be fed back until the orders are executed, so that the problems can be actively prevented and solved; secondly, a large number of normal orders can be filtered through automatic analysis of the data diagnosis device, the number of abnormal orders needing manual analysis is reduced to the minimum, and manpower is saved; thirdly, the abnormal problem of order putting error or abnormal order putting can be prevented, the order putting accuracy rate is improved, appropriate media content is provided for appropriate users in appropriate situations, and the user experience is improved; finally, the technical scheme can be used for releasing the updated function test of the engine server, and is beneficial to improving the overall performance of the information push system.
Based on the method provided by the above example, the present application also proposes a data diagnosis apparatus, and referring to fig. 1, theapparatus 102 at least includes adata obtaining module 1021, arequest constructing module 1022 and adecision analysis module 1023.
Thedata obtaining module 1021 obtains data of an order from a data source, the data including: order ID and orientation conditions of the order.
Therequest constructing module 1022 constructs, for each order ID, an information pushing request matching the directing condition corresponding to the order ID; and sending the constructed information push request to a release engine server so that the release engine server performs menu processing on the information push request and obtains a menu result.
Thedecision analysis module 1023 receives each menu result for each information push request returned by the delivery engine server; analyzing the unselected reasons of the unselected orders according to the menu result to obtain an analysis result, wherein the analysis result comprises: the information of the order with abnormal menu processing and the reason of the abnormal menu processing.
In some examples, the apparatus further includes adata access module 1024, which obtains data of the order from thedata source 101 and provides the data to thedata obtaining module 1021 in response to a request from thedata obtaining module 1021. Thedata access module 1024 may decouple the data source 101 from thedata obtaining module 1021, so that the processing of thedata obtaining module 1021, therequest constructing module 1022 and thedecision analysis module 1023 is not affected by the processing of thedata source 101, such as updating, and the accuracy of data processing can be further improved.
In some examples, therequest constructing module 1022 further saves the constructed information push request to thedata storage server 103, extracts the information push request from thedata storage server 103, and sends the information push request to thedelivery engine server 104.
In some examples, thedecision analysis module 1023 sends the analysis results to thedata storage server 103 for a user to retrieve the analysis results from thedata storage server 103.
The specific implementation principle of the functions of the above modules has been described in the foregoing, and is not described herein again.
In addition, the data diagnosis method and the data diagnosis system in each example of the present application and each module thereof may be integrated into one processing unit, or each module may exist alone physically, or two or more devices or modules may be integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
In one example, the data diagnosis apparatus may be operated in various computing devices capable of performing user information processing based on the internet, and loaded in a memory of the computing device.
Fig. 5 shows a component block diagram of a computing device in which the data diagnosis system is located. As shown in fig. 5, the computing device includes one or more processors (CPUs) 502, acommunication module 504, a memory 506, a user interface 510, and acommunication bus 508 for interconnecting these components.
Theprocessor 502 may receive and transmit data via thecommunication module 504 to enable network communications and/or local communications.
The user interface 510 includes one or more output devices 512 including one or more speakers and/or one or more visual displays. The user interface 510 also includes one or more input devices 514, including, for example, a keyboard, a mouse, a voice command input unit or microphone, a touch screen display, a touch sensitive tablet, a gesture capture camera or other input buttons or controls, and the like.
The memory 506 may be a high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices; or non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.
The memory 506 stores a set of instructions executable by theprocessor 502, including:
an operating system 516, including programs for handling various basic system services and for performing hardware related tasks;
the application 518 includes various programs for implementing data diagnosis, which can implement the processing flow in the above examples, such as may include thedata diagnosis apparatus 102 shown in fig. 1. In some examples, the datadiagnostic apparatus 102 may include modules 1021-1024 as shown in FIG. 1, and each of the modules 1021-1024 may store machine-executable instructions. Theprocessor 502 can further implement the functions of the modules 1021-1024 by executing machine executable instructions in the modules 1021-1024 in the memory 506.
In addition, each of the examples of the present application may be realized by a data processing program executed by a data processing apparatus such as a computer. It is clear that the data processing program constitutes the invention. Further, the data processing program, which is generally stored in one storage medium, is executed by directly reading the program out of the storage medium or by installing or copying the program into a storage device (such as a hard disk and/or a memory) of the data processing device. Such a storage medium therefore also constitutes the present invention. The storage medium may use any type of recording means, such as a paper storage medium (e.g., paper tape, etc.), a magnetic storage medium (e.g., a flexible disk, a hard disk, a flash memory, etc.), an optical storage medium (e.g., a CD-ROM, etc.), a magneto-optical storage medium (e.g., an MO, etc.), and the like.
The present application therefore also discloses a non-volatile storage medium having stored therein a data processing program for executing any one of the examples of the method of the present application.
In addition, the method steps described in this application may be implemented by hardware, for example, logic gates, switches, Application Specific Integrated Circuits (ASICs), programmable logic controllers, embedded microcontrollers, and the like, in addition to data processing programs. Such hardware capable of implementing the methods described herein may also constitute the present application.
The above description is only exemplary of the present application and should not be taken as limiting the present application, and any modifications, equivalents, improvements and the like that are made within the spirit and principle of the present application should be included in the scope of the present application.