Data processing methods, apparatus, electronic devices and storage media
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-05-10
- Publication Date
- 2026-08-14
AI Technical Summary
[0023]根据本公开的示例性实施例的数据处理方法、装置、电子设备及存储介质,通过并行批处理方式,快速准确地获取设备首次激活使用目标应用的归因结果,提高了数据处理速度和准确性。
Smart Images

Figure CN117076696B_ABST
Abstract
Description
Technical Field
[0001] This disclosure generally relates to the field of computer technology, and more specifically, to a data processing method, apparatus, electronic device, and storage medium. Background Technology
[0002] To encourage more devices to activate and use a particular app, it's necessary to promote the app on various media platforms (e.g., prompting users to download the app after clicking on the recommendation). A device activating the app might have clicked on recommendations on one or more media platforms, downloaded, installed, and activated the app. Therefore, it's crucial to determine which media platform's recommendation led to this particular activation. In other words, we need to identify the specific recommendation click that ultimately caused the activation—the initial activation result. How to quickly and accurately determine this attribution requires further research. Summary of the Invention
[0003] Exemplary embodiments of this disclosure provide a data processing method, apparatus, electronic device, and storage medium capable of quickly and accurately obtaining attribution results for the first activation and use of a target application by a device.
[0004] According to a first aspect of the present disclosure, a data processing method is provided, comprising: acquiring multiple activation event data and multiple operation event data, wherein an activation event is an event in which a target application is activated and used by a device, and each activation event data includes: an activation time and at least one device identifier; an operation event is an event in which multimedia resources for recommending a target application are executed once by a device, and each operation event data includes: an operation event identifier, an operation time, and a device identifier; acquiring all matching pairs that meet the conditions by matching the multiple activation event data and the multiple operation event data, wherein an activation event data and an operation event data having the same device identifier are matched into a matching pair; simultaneously filtering multiple matching pair sets to select matching pairs as attribution matching results from each matching pair set, wherein associated matching pairs are divided into a matching pair set, and associated matching pairs have the same activation event data or the same operation event data; wherein each attribution matching result indicates that its corresponding activation event is triggered by its corresponding operation event.
[0005] Optionally, the step of simultaneously filtering multiple sets of matching pairs includes: sorting the matching pairs within each of the multiple sets of matching pairs, and determining the matching pairs as attribution matching results from the set of matching pairs based on the sorting results.
[0006] Optionally, the step of sorting the matching pairs in the matching pair set and determining the matching pairs as attribution matching results from the matching pair set based on the sorting results includes: sorting the remaining matching pairs in the matching pair set; determining the matching pairs as attribution matching results from the matching pair set based on the sorting results, and deleting the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs from the matching pair set, wherein when the number of remaining matching pairs in the matching pair set after deleting the matching pairs is greater than 0, the step of sorting the remaining matching pairs in the matching pair set is returned.
[0007] Optionally, the step of sorting the remaining matching pairs in the matching pair set includes: sorting the remaining matching pairs in the matching pair set according to the operation time to obtain a first sorting result, and sorting the matching pairs according to the activation time to obtain a second sorting result.
[0008] Optionally, the step of sorting matching pairs with the same activation event data according to operation time includes: sorting matching pairs with the same activation event data from late to early operation time; wherein, the step of sorting matching pairs with the same operation event data according to activation time includes: sorting matching pairs with the same operation event data from early to late activation time; wherein, the step of determining the matching pair as the attribution matching result from the matching pair set based on the sorting result includes: taking the matching pair that ranks first in both the first sorting result and the second sorting result as the attribution matching result.
[0009] Optionally, the step of simultaneously filtering multiple sets of matching pairs includes: simultaneously filtering multiple sets of matching pairs using a distributed computing engine; and / or simultaneously filtering multiple sets of matching pairs using a multi-compute node distributed cluster, wherein different computing nodes filter different sets of matching pairs.
[0010] Optionally, the step of obtaining all matching pairs that meet the conditions by matching the multiple activation event data and the multiple operation event data includes: processing multiple data groups simultaneously to obtain all matching pairs that meet the conditions from each data group, wherein activation event data and operation event data with the same device identifier are grouped into the same data group.
[0011] Optionally, the steps of processing multiple data groups simultaneously include: using a distributed computing engine to process multiple data groups simultaneously; and / or using a multi-compute node distributed cluster to process multiple data groups simultaneously, wherein different computing nodes process different data groups.
[0012] According to a second aspect of the present disclosure, a data processing apparatus is provided, comprising: a data acquisition unit configured to acquire multiple activation event data and multiple operation event data, wherein an activation event is an event in which a target application is activated and used by a device, and each activation event data includes: an activation time and at least one device identifier; an operation event is an event in which multimedia resources for recommending a target application are executed once by a device, and each operation event data includes: an operation event identifier, an operation time, and a device identifier; a matching unit configured to acquire all matching pairs that meet the conditions by matching the multiple activation event data and the multiple operation event data, wherein an activation event data and an operation event data having the same device identifier are matched into a matching pair; and a filtering unit configured to simultaneously filter multiple sets of matching pairs to filter matching pairs from each set of matching pairs as attribution matching results, wherein associated matching pairs are divided into a matching pair set, and associated matching pairs have the same activation event data or the same operation event data; wherein each attribution matching result indicates that its corresponding activation event was triggered by its corresponding operation event.
[0013] Optionally, the filtering unit is configured to: sort the matching pairs within each of the plurality of matching pair sets, and determine the matching pairs from the matching pair set as attribution matching results based on the sorting results.
[0014] Optionally, the filtering unit is configured to: sort the remaining matching pairs in the matching pair set; based on the sorting result, determine the matching pairs as attribution matching results from the matching pair set, and delete the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs from the matching pair set, wherein when the number of remaining matching pairs in the matching pair set after deleting the matching pairs is greater than 0, the process of sorting the remaining matching pairs in the matching pair set is returned.
[0015] Optionally, the filtering unit is configured to: sort the remaining matching pairs in the matching pair set according to the operation time to obtain a first sorting result, and sort the matching pairs according to the activation time to obtain a second sorting result.
[0016] Optionally, the process of sorting matching pairs with the same activation event data according to operation time includes: sorting matching pairs with the same activation event data from late to early operation time; wherein, the process of sorting matching pairs with the same operation event data according to activation time includes: sorting matching pairs with the same operation event data from early to late activation time; wherein, the process of determining the matching pair as the attribution matching result from the matching pair set based on the sorting result includes: taking the matching pair that ranks first in both the first sorting result and the second sorting result as the attribution matching result.
[0017] Optionally, the filtering unit is configured to use a distributed computing engine to filter multiple sets of matching pairs simultaneously; and / or, the filtering unit is configured to use a multi-compute node distributed cluster to filter multiple sets of matching pairs simultaneously, wherein different computing nodes filter different sets of matching pairs.
[0018] Optionally, the matching unit is configured to process multiple data groups simultaneously to obtain all matching pairs that meet the criteria from each data group, wherein activation event data and operation event data with the same device identifier are grouped into the same data group.
[0019] Optionally, the matching unit is configured to process multiple data groups simultaneously using a distributed computing engine; and / or, the matching unit is configured to process multiple data groups simultaneously using a multi-compute node distributed cluster, wherein different compute nodes process different data groups.
[0020] According to a third aspect of the present disclosure, an electronic device is provided, comprising: at least one processor; and at least one memory storing computer-executable instructions, wherein the computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the data processing method as described above.
[0021] According to a fourth aspect of the present disclosure, a computer-readable storage medium is provided that, when instructions in the computer-readable storage medium are executed by at least one processor, causes the at least one processor to perform the data processing method as described above.
[0022] According to a fifth aspect of the present disclosure, a computer program product is provided, including computer instructions that, when executed by at least one processor, implement the data processing method described above.
[0023] The data processing method, apparatus, electronic device, and storage medium according to exemplary embodiments of the present disclosure rapidly and accurately obtain the attribution results of the first activation and use of the target application by the device through parallel batch processing, thereby improving the data processing speed and accuracy.
[0024] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description
[0025] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.
[0026] Figure 1 A flowchart illustrating a data processing method according to an exemplary embodiment of the present disclosure is shown;
[0027] Figure 2 A flowchart illustrating the processing performed for each set of matching pairs according to exemplary embodiments of the present disclosure;
[0028] Figure 3 Examples of data processing methods according to exemplary embodiments of this disclosure are shown;
[0029] Figure 4 This illustrates another example of a data processing method according to exemplary embodiments of the present disclosure;
[0030] Figure 5 This diagram illustrates a structural block diagram of a data processing apparatus according to exemplary embodiments of the present disclosure.
[0031] Figure 6 A structural block diagram of an electronic device according to an exemplary embodiment of the present disclosure is shown. Detailed Implementation
[0032] To enable those skilled in the art to better understand the technical solutions of this disclosure, the technical solutions in the embodiments of this disclosure will be clearly and completely described below with reference to the accompanying drawings.
[0033] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.
[0034] It should be noted that the phrase "at least one of several items" in this disclosure refers to three parallel cases: "any one of the several items", "a combination of any number of the several items", and "all of the several items". For example, "including at least one of A and B" includes the following three parallel cases: (1) including A; (2) including B; (3) including A and B. As another example, "performing at least one of step one and step two" indicates the following three parallel cases: (1) performing step one; (2) performing step two; (3) performing both step one and step two.
[0035] Figure 1 A flowchart illustrating a data processing method according to an exemplary embodiment of the present disclosure is shown.
[0036] Reference Figure 1 In step S101, multiple activation event data and multiple operation event data are acquired.
[0037] An activation event is the event in which a target application is activated and used by a device (i.e., activated and used for the first time after downloading and installing). Each activation event record represents an activation event, and different activation event records correspond to different activation events.
[0038] Each activation event data entry includes: the corresponding activation time and at least one device identifier. The at least one device identifier included in each activation event data entry refers to at least one identifier of the device from which the activation event occurred, and the activation time included in each activation event data entry refers to the time when the activation event occurred. As an example, the at least one identifier of the device from which the activation event occurred can be obtained based on data reported by the device through the target application's client within a certain period after the corresponding activation time.
[0039] An operation event is an event in which a target operation is performed on a multimedia resource used to recommend a target application. Each operation event data is used to characterize an operation event, and different operation event data may correspond to different or the same operation event.
[0040] Each operation event data entry includes: a corresponding operation event identifier, operation time, and device identifier. The device identifier in each operation event data entry refers to the identifier of the device on which the operation event occurred. The operation time in each operation event data entry refers to the occurrence time of the operation event. The operation event identifier in each operation event data entry is the identifier of the operation event, such as an operation event ID. Multiple operation event data entries with the same operation event identifier are used to represent the same operation event, but these multiple operation event data entries have different device identifiers. For example, each operation event data entry may include: an operation event identifier, an operation time, and a device identifier. For example, for each operation event, the information uploaded by the client regarding that operation event may include: at least one device identifier and an occurrence time. Based on this information, at least one operation event data entry describing the operation event can be generated. These at least one operation event data entry have the same operation event identifier, thus indicating that they correspond to the same operation event, but each operation event data entry has one of the aforementioned at least one device identifier, and they are different from each other.
[0041] It should be understood that each device may have at least one device identifier. As an example, different devices may have the same or different device identifiers. For instance, device A may have multiple device identifiers, one of which may be the same as a device identifier of device B.
[0042] As an example, the type of device identifier may include, but is not limited to, at least one of the following: International Mobile Equipment Identity (IMEI), OpenAnonymous Device Identifier (OAID), Identifier for Advertising (IDFA), and IP address.
[0043] As an example, the multimedia resources may include, but are not limited to, at least one of the following: video, images, and text. For instance, after a target operation is performed on the multimedia resources, a user interface prompting the user to download the target application may pop up. As an example, the target operation may include, but is not limited to, at least one of the following: a click operation and a selection operation.
[0044] As an example, operation event data can be obtained from the servers of multiple recommended multimedia resource publishing platforms. For instance, a client of a recommended multimedia resource publishing platform might upload information (e.g., device identifier, time of occurrence, etc.) about an event in which a multimedia resource used to recommend a target application was subjected to a target operation by the device on which it resides to the backend server.
[0045] As an example, activation event data can be obtained based on information reported by the client of the target application about the event of the target application being activated and used by a device (e.g., including device identifier, time of occurrence, etc.) and information reported within a period of time after the activation time (e.g., including device identifier, etc.).
[0046] In step S102, all matching pairs that meet the conditions are obtained by matching the multiple activation event data and the multiple operation event data. Among them, an activation event data and an operation event data with the same device identifier are matched into a matching pair.
[0047] In other words, based on the multiple activation event data and the multiple operation event data, an activation event data and an operation event data with the same device identifier are matched into a matching pair to match all matching pairs that meet the conditions (i.e., all possible matching pairs).
[0048] The condition refers to having one activation event data and one operation event data with the same device identifier. It should be understood that the activation event data and / or operation event data may differ between different matching pairs.
[0049] For example, when an activation event data has multiple device identifiers, if one of these device identifiers is the same as a device identifier in an operation event data, then the two can be considered to have the same device identifier, thus matching the activation event data and the operation event data into a matching pair.
[0050] As an example, multiple data groups can be processed simultaneously (i.e., in parallel) to obtain all matching pairs that meet the criteria from each data group, where activation event data and operation event data with the same device identifier are grouped into the same data group. Specifically, intra-group matching can be performed in parallel on multiple data groups to obtain all possible matching pairs consisting of activation event data and operation event data within the group.
[0051] As an example, a distributed computing engine can be used to process multiple data sets simultaneously; and / or, a multi-compute node distributed cluster can be used to process multiple data sets simultaneously, wherein different compute nodes process different data sets.
[0052] As an example, for the first device identifier type (hereinafter referred to as the first type), all activation event data and operation event data with the first type identifier can be divided. Specifically, activation event data and operation event data with the same first type identifier are grouped into the same data group, that is, mapped to the same computing node. Each computing node then performs intra-group matching in parallel based on its own data group, using the same first type identifier as the matching principle, to obtain all possible matching pairs. Similarly, for the second device identifier type (hereinafter referred to as the second type), all activation event data and operation event data with the second type identifier can be divided. Specifically, activation event data and operation event data with the same second type identifier are grouped into the same data group, that is, mapped to the same computing node. Each computing node then performs intra-group matching in parallel based on its own data group, using the same second type identifier as the matching principle, to obtain all possible matching pairs. This process continues until all device identifier types have been traversed.
[0053] For example, when d1, d2, d3, c1, c2, and c3 are obtained, d1, d2, and d3 each represent an activation event data point, and c1, c2, and c3 each represent an operation event data point. First, based on IMEI, activation event data and operation event data with the same IMEI can be grouped into the same data group. For example, d1, d2, and c1 are grouped into the same data group, and intra-group matching is performed to obtain matching pairs d1-c1 and d2-c1. Similarly, based on OAID, activation event data and operation event data with the same OAID can be grouped into the same data group. For example, d2 and c2 are grouped into the same data group, and d3 and c3 are grouped into the same data group. Intra-group matching is then performed on these two data groups in parallel using different computing nodes to obtain matching pairs d2-c2 and d3-c3.
[0054] As an example, the distributed computing engine may be the Spark computing engine. It should be understood that other suitable types of distributed computing engines may also be used, and this disclosure is not limiting in this regard.
[0055] It should be understood that a computing node can be defined by the processes it performs or the functions it implements; it can refer to both physical and virtual entities. For example, a computing node can refer to a logical entity deployed on an actual computing machine. For instance, a multi-computing-node distributed cluster can be based on a multi-core, multi-machine cluster.
[0056] In step S103, multiple matching pair sets are simultaneously filtered (i.e., parallel filtering is performed) to select matching pairs from each matching pair set as attribution matching results. Specifically, multiple matching pair sets are filtered in parallel within each set to select matching pairs as attribution matching results. All matching pairs associated with the same activation event data or the same operation event data are grouped into a single matching pair set. Specifically, associated matching pairs are grouped into a single matching pair set, and associated matching pairs have the same activation event data or the same operation event data.
[0057] Each attribution match indicates that its corresponding activation event was triggered by its corresponding action event. That is, each attribution match indicates that the first activation of the device corresponding to the device identifier using the target application was achieved by performing the action corresponding to the action event identifier.
[0058] As an example, a distributed computing engine can be used to filter multiple sets of matching pairs simultaneously; and / or, a distributed cluster of multiple computing nodes can be used to filter multiple sets of matching pairs simultaneously, wherein different computing nodes filter different sets of matching pairs.
[0059] As an example, when the number of matching pairs obtained from dividing all matching pairs is large, a portion of the matching pairs can be filtered in parallel based on the number of computing nodes. Each computing node filters one matching pair at a time. When a computing node is idle after completing the filtering, the remaining matching pairs are filtered in parallel until all matching pairs have been filtered in parallel.
[0060] As an example, the following processing can be performed in parallel for each of the plurality of matching pair sets: sorting the matching pairs within that matching pair set (i.e., the current matching pair set), and determining the matching pairs from that matching pair set as attribution matching results based on the sorting results.
[0061] The following will combine Figure 2 To describe an exemplary embodiment of step S103, Figure 2 A flowchart illustrating the processing performed for each set of matching pairs according to an exemplary embodiment of the present disclosure is provided, wherein steps S201-S203 can be performed in parallel for each of the plurality of sets of matching pairs.
[0062] Reference Figure 2 In step S201, the remaining matching pairs in the matching pair set are sorted.
[0063] As an example, for the remaining matching pairs in the matching pair set, the matching pairs with the same activation event data can be sorted according to the operation time to obtain the first sorting result, and the matching pairs with the same operation event data can be sorted according to the activation time to obtain the second sorting result.
[0064] As an example, matching pairs with the same activation event data can be sorted from latest to earliest operation time. That is, among matching pairs with the same activation event data, the later the operation time of the matching pair, the higher its ranking in the first sorting result.
[0065] As an example, matching pairs with the same operation event data can be sorted from earliest to latest activation time. That is, among matching pairs with the same operation event data, the earlier the activation time of the matching pair, the higher its ranking in the second sorting result.
[0066] In step S202, based on the sorting results, the matching pairs that are used as attribution matching results are determined from the matching pair set, and the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs are deleted from the matching pair set.
[0067] As an example, matching pairs that can be determined as attribution matching results from the set of matching pairs can be based on the first and second sorting results.
[0068] As an example, the matching pair that ranks first in both the first and second sorting results can be used as the attribution matching result.
[0069] In step S203, after step S202, it is determined whether the number of remaining matching pairs in the set of matching pairs after deleting the matching pairs is greater than 0. If it is greater than 0, the process returns to step S201.
[0070] Figure 3 An example of a data processing method according to an exemplary embodiment of this disclosure is shown.
[0071] Reference Figure 3Matching pairs d1-c1, d2-c1, and d2-c2 are grouped into a matching pair set because they share the same activation event data or the same operation event data. Specifically, matching pairs d1-c1 and d2-c1 are associated together because they both have "c1", and matching pairs d2-c1 and d2-c2 are associated together because they both have "d2". Therefore, matching pairs d1-c1, d2-c1, and d2-c2 are all associated together to form a matching pair set (hereinafter referred to as the first matching pair set). Correspondingly, matching pair d3-c3 does not share the same activation event data or the same operation event data with other matching pairs, and thus constitutes a separate matching pair set (hereinafter referred to as the second matching pair set).
[0072] This disclosure takes into account that since both d1 and d2 match c1, it is necessary to first determine the final attribution of c1. Since d3 and c1 are unrelated, the attribution results of d3 and d1 can be obtained simultaneously in the first round of adjudication. Assuming that c1 is ultimately adjudicated to d1, since c1 has already been used, d2 can only obtain c2 as its attribution result. In the second round of adjudication, the attribution result c2 of d2 is obtained.
[0073] Therefore, according to the exemplary embodiments of this disclosure, in-set filtering can be performed on the first set of matching pairs and the second set of matching pairs in parallel. For example, computing node 1 is used to perform in-set filtering on the first set of matching pairs, while computing node 2 is used to perform in-set filtering on the second set of matching pairs. Specifically, for the first set of matching pairs, matching pairs with the same activation event data are sorted in descending order of operation time (i.e., sorted by activation event dimension) to obtain a first sorting result. For example, for d2, matching pairs d2-c1 and d2-c2 are sorted. Assuming that the operation time of c1 is later than the operation time of c2, the first sorting result for d2 is d2-c1 and d2-c2 respectively; similarly, the first sorting result for d1 is d1-c1. Furthermore, matching pairs with the same operation event data are sorted in ascending order of activation time (i.e., sorted by operation event dimension) to obtain a second sorting result. For example, for c1, matching pairs d1-c1 and d2-c1 are sorted. Assuming d1 has an earlier activation time, the second sorting result for c1 is d1-c1, d2-c1; similarly, the second sorting result for c2 is d2-c2. Based on this, the matching pair that ranks first in both the first and second sorting results is taken as the attribution matching result, so d1-c1 is taken as the first round of filtering result. Accordingly, for the second set of matching pairs, d3-c3 is taken as the first round of filtering result. In the second round of filtering, since c1, d1, c3, and d3 have all been used, these items can no longer be used. Therefore, after deleting d1-c1 and d2-c1, only d2-c2 remains in the first set of matching pairs. Repeating the above operation, d2-c2 is taken as the second round of filtering result.
[0074] Figure 4 Another example of a data processing method according to an exemplary embodiment of this disclosure is shown.
[0075] Reference Figure 4 First, all possible matching pairs can be obtained as the initial matching results. For example, an activation event data and an operation event data with the same device identifier can be matched in a distributed parallel manner to obtain the initial matching results.
[0076] Then, multiple matching pair sets can be filtered in a parallel distributed manner (e.g., Spark on Yarn mode) to select matching pairs as attribution matching results. All matching pairs associated with the same activation event data or the same operation event data are grouped into one matching pair set. Each compute node is used to filter a matching pair set. Specifically, each compute node sorts the corresponding matching pair set according to the configured sorting rules by trigger event dimension and operation event dimension, respectively. Based on the sorting results, it produces the attribution results for each round and removes already attributed matching pairs and matching pairs with the same operation event identifier as the attributed matching pairs from the original matching results. The remaining matching pairs in the matching pair set are then iterated for the next round.
[0077] This disclosure takes into account that most activation events can be processed in parallel. Therefore, this disclosure proposes a Spark-based parallel batch processing method to process activation events that do not require arbitration (which are matched with different operation events) in the same round of iteration; for activation events that require arbitration (which are matched with the same operation event), an iterative method is used to select one activation event in each round of iteration.
[0078] According to exemplary embodiments of this disclosure, the Spark computing engine provides better fault tolerance and reliability, and Spark supports configuration and coding using SQL, reducing learning and maintenance costs.
[0079] The method for determining attribution matching results based on Spark in this disclosure solves the problems of serial processing speed and data volume being limited by single-machine resources, inability to scale horizontally, inability to utilize multi-core multi-machine clusters for acceleration, the need to consider system high availability in engineering implementation, the need for another machine as a cold backup for serial processing, and low resource utilization.
[0080] According to exemplary embodiments of this disclosure, the problem of attribution accuracy cannot be guaranteed when different devices have the same device number in real-world scenarios.
[0081] Figure 5 A structural block diagram of a data processing apparatus according to an exemplary embodiment of the present disclosure is shown.
[0082] like Figure 5 As shown, the data processing apparatus 10 according to an exemplary embodiment of the present disclosure includes: a data acquisition unit 101, a matching unit 102, and a filtering unit 103.
[0083] Specifically, the data acquisition unit 101 is configured to acquire multiple activation event data and multiple operation event data. The activation event is an event in which the target application is activated and used by a device, and each activation event data includes: activation time and at least one device identifier. The operation event is an event in which multimedia resources used to recommend the target application are executed by a device once, and each operation event data includes: operation event identifier, operation time and device identifier.
[0084] The matching unit 102 is configured to obtain all matching pairs that meet the conditions by matching the multiple activation event data and the multiple operation event data, wherein an activation event data and an operation event data with the same device identifier are matched into a matching pair.
[0085] The filtering unit 103 is configured to simultaneously filter multiple sets of matching pairs to select matching pairs from each set of matching pairs as attribution matching results, wherein associated matching pairs are divided into a set of matching pairs, and associated matching pairs have the same activation event data or the same operation event data.
[0086] Each attribution match indicates that its corresponding activation event was triggered by its corresponding action event.
[0087] As an example, the filtering unit 103 may be configured to: sort the matching pairs within each of the plurality of matching pair sets, and determine the matching pairs as attribution matching results from the matching pair sets based on the sorting results.
[0088] As an example, the filtering unit 103 can be configured to: sort the remaining matching pairs in the matching pair set; based on the sorting result, determine the matching pairs as attribution matching results from the matching pair set, and delete the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs from the matching pair set, wherein when the number of remaining matching pairs in the matching pair set after deleting the matching pairs is greater than 0, the process of sorting the remaining matching pairs in the matching pair set is returned.
[0089] As an example, the filtering unit 103 can be configured to: sort the remaining matching pairs in the matching pair set according to the operation time to obtain a first sorting result, and sort the matching pairs according to the activation time to obtain a second sorting result.
[0090] As an example, the process of sorting matching pairs with the same activation event data according to operation time may include: sorting matching pairs with the same activation event data from late to early operation time; wherein, the process of sorting matching pairs with the same operation event data according to activation time may include: sorting matching pairs with the same operation event data from early to late activation time; wherein, the process of determining the matching pair as the attribution matching result from the matching pair set based on the sorting result may include: taking the matching pair that ranks first in both the first sorting result and the second sorting result as the attribution matching result.
[0091] As an example, the filtering unit 103 may be configured to simultaneously filter multiple sets of matching pairs using a distributed computing engine; and / or, the filtering unit 103 may be configured to simultaneously filter multiple sets of matching pairs using a multi-compute node distributed cluster, wherein different computing nodes filter different sets of matching pairs.
[0092] As an example, the matching unit 102 can be configured to process multiple data groups simultaneously to obtain all matching pairs that meet the criteria from each data group, wherein activation event data and operation event data with the same device identifier are grouped into the same data group.
[0093] As an example, the matching unit 102 may be configured to process multiple data groups simultaneously using a distributed computing engine; and / or, the matching unit 102 may be configured to process multiple data groups simultaneously using a multi-compute node distributed cluster, wherein different computing nodes process different data groups.
[0094] As an example, each device may have at least one device identifier; different devices may have the same or different device identifiers.
[0095] Regarding the data processing apparatus 10 in the above embodiments, the specific manner in which each unit performs operations has been described in detail in the embodiments of the relevant methods, and will not be elaborated here.
[0096] Furthermore, it should be understood that the various units in the data processing apparatus 10 according to exemplary embodiments of this disclosure may be implemented as hardware components and / or software components. Those skilled in the art may implement the various units, for example, using field-programmable gate arrays (FPGAs) or application-specific integrated circuits (ASICs), based on the processes performed by the defined various units.
[0097] Figure 6 A structural block diagram of an electronic device according to an exemplary embodiment of the present disclosure is shown. (Refer to...) Figure 6The electronic device 20 includes at least one memory 201 and at least one processor 202. The at least one memory 201 stores a set of computer-executable instructions. When the set of computer-executable instructions is executed by the at least one processor 202, the data processing method as described in the exemplary embodiments above is performed.
[0098] As an example, electronic device 20 may be a PC, tablet, personal digital assistant, smartphone, or other device capable of executing the aforementioned set of instructions. Here, electronic device 20 is not necessarily a single electronic device; it may be any collection of devices or circuits capable of executing the aforementioned instructions (or instruction sets) individually or in combination. Electronic device 20 may also be part of an integrated control system or system manager, or may be configured to interconnect with a portable electronic device locally or remotely (e.g., via wireless transmission) through an interface.
[0099] In electronic device 20, processor 202 may include a central processing unit (CPU), a graphics processing unit (GPU), a programmable logic device, a dedicated processor system, a microcontroller, or a microprocessor. By way of example and not limitation, processor 202 may also include analog processors, digital processors, microprocessors, multi-core processors, processor arrays, network processors, etc.
[0100] The processor 202 can execute instructions or code stored in the memory 201, which can also store data. Instructions and data can also be sent and received over a network via a network interface device, which can employ any known transmission protocol.
[0101] The memory 201 may be integrated with the processor 202, for example, by arranging RAM or flash memory within an integrated circuit microprocessor. Alternatively, the memory 201 may include a separate device, such as an external disk drive, a storage array, or other storage device usable by any database system. The memory 201 and the processor 202 may be operatively coupled, or may communicate with each other, for example, via I / O ports, network connections, etc., enabling the processor 202 to read files stored in the memory.
[0102] In addition, electronic device 20 may also include a video display (such as a liquid crystal display) and a user interaction interface (such as a keyboard, mouse, touch input device, etc.). All components of electronic device 20 may be interconnected via a bus and / or network.
[0103] According to exemplary embodiments of the present disclosure, a computer-readable storage medium storing instructions may also be provided, wherein when the instructions are executed by at least one processor, they cause at least one processor to perform the data processing method as described in the exemplary embodiments above. Examples of computer-readable storage media herein include: read-only memory (ROM), random access programmable read-only memory (PROM), electrically erasable programmable read-only memory (EEPROM), random access memory (RAM), dynamic random access memory (DRAM), static random access memory (SRAM), flash memory, non-volatile memory, CD-ROM, CD-R, CD+R, CD-RW, CD+RW, DVD-ROM, DVD-R, DVD+R, DVD-RW, DVD+RW, DVD-RAM, BD-ROM, BD-R, BD-R LTH, BD-RE, Blu-ray or optical disc storage, hard disk drive (HDD), solid-state drive (SSD), card storage (such as multimedia cards, secure digital (SD) cards, or ultra-fast digital (XD) cards), magnetic tape, floppy disk, magneto-optical data storage device, optical data storage device, hard disk, solid-state drive, and any other device configured to store a computer program and any associated data, data files, and data structures in a non-transitory manner and to provide the computer program and any associated data, data files, and data structures to a processor or computer so that the processor or computer can execute the computer program. The computer program in the aforementioned computer-readable storage medium can run in an environment deployed in computer devices such as clients, hosts, agent devices, servers, etc. Furthermore, in one example, the computer program and any associated data, data files, and data structures are distributed across a networked computer system, such that the computer program and any associated data, data files, and data structures are stored, accessed, and executed in a distributed manner through one or more processors or computers.
[0104] According to exemplary embodiments of the present disclosure, a computer program product may also be provided, wherein the instructions in the computer program product are executable by at least one processor to perform the data processing method as described in the exemplary embodiments above.
[0105] Other embodiments of this disclosure will readily occur to those skilled in the art upon consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of this disclosure that follow the general principles of this disclosure and include common knowledge or customary techniques in the art not disclosed herein. The specification and examples are to be considered exemplary only, and the true scope and spirit of this disclosure are indicated by the following claims.
[0106] It should be understood that this disclosure is not limited to the precise structures described above and shown in the accompanying drawings, and various modifications and changes can be made without departing from its scope. The scope of this disclosure is limited only by the appended claims.
Claims
1. A data processing method, characterized in that, include: Multiple activation event data and multiple operation event data are acquired. An activation event is an event in which the target application is activated and used by a device, and each activation event data includes: activation time and at least one device identifier. An operation event is an event in which multimedia resources used to recommend the target application are executed by a device once, and each operation event data includes: operation event identifier, operation time and device identifier. Multiple operation event data with the same operation event identifier are used to represent the same operation event, but the device identifiers of the multiple operation event data representing the same operation event are different from each other. By matching the multiple activation event data and the multiple operation event data, all matching pairs that meet the conditions are obtained. Among them, an activation event data and an operation event data with the same device identifier are matched into a matching pair. Multiple matching pairs are filtered simultaneously to select matching pairs from each matching pair set as attribution matching results. Related matching pairs are divided into a matching pair set, and related matching pairs have the same activation event data or the same operation event data. Each attribution matching result indicates that its corresponding activation event was triggered by its corresponding operation event; The step of simultaneously filtering multiple matching pair sets includes: sorting the matching pairs within each of the multiple matching pair sets, and determining the matching pairs as attribution matching results from the matching pair sets based on the sorting results.
2. The data processing method according to claim 1, characterized in that, The steps of sorting the matching pairs within the matching pair set and determining the matching pairs from the matching pair set as attribution matching results based on the sorting results include: Sort the remaining matching pairs in the set of matching pairs; Based on the sorting results, the matching pairs that are used as attribution matching results are determined from the matching pair set, and the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs are deleted from the matching pair set. When the number of remaining matching pairs in the matching pair set after deleting the matching pairs is greater than 0, the step of sorting the remaining matching pairs in the matching pair set is returned.
3. The data processing method according to claim 2, characterized in that, The steps for sorting the remaining matching pairs in the set of matching pairs include: For the remaining matching pairs in the matching pair set, sort the matching pairs with the same activation event data according to the operation time to obtain the first sorting result, and sort the matching pairs with the same operation event data according to the activation time to obtain the second sorting result.
4. The data processing method according to claim 3, characterized in that, The steps for sorting matching pairs with the same activation event data according to operation time include: sorting matching pairs with the same activation event data from latest to earliest operation time; The step of sorting matching pairs with the same operation event data according to the activation time includes: sorting matching pairs with the same operation event data from early to late according to the activation time; The step of determining the matching pair as the attribution matching result from the matching pair set based on the ranking result includes: taking the matching pair that ranks first in both the first ranking result and the second ranking result as the attribution matching result.
5. The data processing method according to claim 1, characterized in that, The steps for filtering multiple sets of matching pairs simultaneously include: Utilize a distributed computing engine to simultaneously filter multiple sets of matching pairs; And / or, using a distributed cluster of multiple computing nodes, multiple sets of matching pairs are filtered simultaneously, wherein different computing nodes filter different sets of matching pairs.
6. The data processing method according to claim 1, characterized in that, The steps for obtaining all matching pairs that meet the criteria by matching the multiple activation event data and the multiple operation event data include: Multiple data groups are processed simultaneously to obtain all matching pairs that meet the criteria from each data group, where activation event data and operation event data with the same device identifier are grouped into the same data group.
7. The data processing method according to claim 6, characterized in that, The steps for processing multiple datasets simultaneously include: Utilize a distributed computing engine to process multiple data sets simultaneously; And / or, using a distributed cluster of multiple computing nodes to process multiple data sets simultaneously, where different computing nodes process different data sets.
8. A data processing apparatus, characterized in that, include: The data acquisition unit is configured to acquire multiple activation event data and multiple operation event data. The activation event is the event in which the target application is activated and used by a device, and each activation event data includes: activation time and at least one device identifier. The operation event is the event in which the multimedia resources used to recommend the target application are executed by a device once, and each operation event data includes: operation event identifier, operation time and device identifier. The matching unit is configured to obtain all matching pairs that meet the conditions by matching the multiple activation event data and the multiple operation event data, wherein an activation event data and an operation event data with the same device identifier are matched into a matching pair; The filtering unit is configured to simultaneously filter multiple sets of matching pairs to select matching pairs as attribution matching results from each set of matching pairs, wherein associated matching pairs are divided into a set of matching pairs, and associated matching pairs have the same activation event data or the same operation event data. Each attribution matching result indicates that its corresponding activation event was triggered by its corresponding operation event; The filtering unit is configured to: sort the matching pairs in each of the plurality of matching pair sets, and determine the matching pairs as attribution matching results from the matching pair sets based on the sorting results.
9. The data processing apparatus according to claim 8, characterized in that, The filtering unit is configured to: sort the remaining matching pairs in the matching pair set; based on the sorting result, determine the matching pairs as attribution matching results from the matching pair set, and delete the determined matching pairs and matching pairs with the same operation event identifier as the determined matching pairs from the matching pair set. When the number of remaining matching pairs in the matching pair set after deleting the matching pairs is greater than 0, the process of sorting the remaining matching pairs in the matching pair set is returned.
10. The data processing apparatus according to claim 9, characterized in that, The filtering unit is configured to: sort the remaining matching pairs in the matching pair set according to the operation time to obtain a first sorting result, and sort the matching pairs according to the activation time to obtain a second sorting result.
11. The data processing apparatus according to claim 10, characterized in that, The process of sorting matching pairs with the same activation event data according to the operation time includes: sorting matching pairs with the same activation event data from late to early operation time; The process of sorting matching pairs with the same operation event data according to the activation time includes: sorting matching pairs with the same operation event data from earliest to latest according to the activation time; The process of determining the matching pairs as attribution matching results from the matching pair set based on the ranking results includes: taking the matching pair that ranks first in both the first and second ranking results as the attribution matching results.
12. The data processing apparatus according to claim 8, characterized in that, The filtering unit is configured to utilize a distributed computing engine to simultaneously filter multiple sets of matching pairs. And / or, the filtering unit is configured to simultaneously filter multiple sets of matching pairs using a distributed cluster of multi-compute nodes, wherein different compute nodes filter different sets of matching pairs.
13. The data processing apparatus according to claim 8, characterized in that, The matching unit is configured to process multiple data groups simultaneously to obtain all matching pairs that meet the criteria from each data group, wherein activation event data and operation event data with the same device identifier are grouped into the same data group.
14. The data processing apparatus according to claim 13, characterized in that, The matching unit is configured to utilize a distributed computing engine to process multiple data sets simultaneously; And / or, the matching unit is configured to utilize a distributed cluster of multi-compute nodes to process multiple data sets simultaneously, wherein different compute nodes process different data sets.
15. An electronic device, characterized in that, include: At least one processor; At least one memory that stores computer-executable instructions. The computer-executable instructions, when executed by the at least one processor, cause the at least one processor to perform the data processing method as described in any one of claims 1 to 7.
16. A computer-readable storage medium, characterized in that, When the instructions in the computer-readable storage medium are executed by at least one processor, the at least one processor causes the at least one processor to perform the data processing method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Method, device and system for processing distributed type parallel tasks
CN104102475A
Multi-channel attribution method and related equipment
CN110910165A
Resource recommendation method and device, equipment and storage medium
CN113743974A