Method and device for crowd circle selection, electronic equipment and storage medium
By generating Bitmap files and mapping information, combined with GRPC streaming output, the problem of low crowd selection efficiency was solved, achieving second-level crowd selection and real-time insight, thus improving the efficiency and resource utilization of crowd selection.
Patent Information
- Application Number
- CN202210376698.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-04-12
- Publication Date
- 2025-12-09
- Estimated Expiration
- 2042-04-12
AI Technical Summary
Existing technologies suffer from low efficiency in the crowd selection process, slow data copying, low underlying execution efficiency, and low crowd package output efficiency, making it difficult to support large-scale crowd selection tasks and unable to provide real-time insights.
Generate a Bitmap file for each tag's corresponding OneID, obtain the mapping information from OneID to specific dimension data, parse the business query and perform intersection, union, or complement operations, generate a Bitmap result file, find the mapping information to obtain the specific dimension data, and output it via GRPC streaming.
It achieves second-level audience selection and streaming audience packet output, improving the efficiency of audience selection, reducing data copying, improving resource utilization and data transmission efficiency, supporting large-scale audience selection tasks, and enabling real-time insights.
Smart Images

Figure CN114741414B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of crowd circle selection. BACKGROUND
[0002] Crowd circle selection is to take specific marketing solutions for a specific crowd, so as to achieve the effect of fine operation. Crowd circle selection is a process of filtering a batch of users according to different user tags and behavior processes through specific business rules (for example, a male born in 1990 and having recently visited a certain tire).
[0003] In the industry, the crowd circle selection architecture mainly uses big data MapReduce tools or OLAP analysis engines at the bottom, and the process is as follows:
[0004] 1. The marketing platform issues a circle selection task to the circle selection service (usually defined business logic, such as: query male users who want to buy a BMW X5)
[0005] 2. After the circle selection service receives the circle selection request, it parses the circle selection logic according to a certain parsing logic, which is usually parsed into a SQL type task
[0006] 3. The circle selection service issues the parsed SQL task to the specific execution engine, which can be a big data HIVE or an OLAP analysis engine
[0007] 4. The bottom engine executes SQL to select a crowd package, and then synchronizes it to the business storage through a big data ETL tool for business use
[0008] The existing technology has several shortcomings:
[0009] 1. The data is copied back and forth, and the efficiency is very slow;
[0010] 2. The bottom execution efficiency is low, and each circle selection needs to be calculated from the bottom data;
[0011] 3. The crowd package output efficiency is slow, and the data volume is large, which leads to unstable business storage;
[0012] 4. It is difficult to support large-scale crowd circle selection tasks;
[0013] 5. It cannot provide real-time insight results, and each circle selection business needs to wait. SUMMARY
[0014] The following presents a summary of various exemplary technical solutions. In the following summary, some simplifications and omissions can be made in the interest of brevity and conciseness, and these should not be interpreted as limiting the scope of the inventive concept. A detailed description is presented in subsequent sections sufficient to allow a person of ordinary skill in the art to produce and use exemplary technical solutions of the inventive concept.
[0015] To solve the above technical problems, the technical solutions of the present application provide a method for crowd circle selection, comprising: generating a Bitmap file corresponding to each label and containing OneID; obtaining mapping information of OneID to specific dimension data; parsing a query of a business, performing intersection, union or complement operation on the Bitmap file according to the query, generating a Bitmap result file; according to the Bitmap result file, finding the mapping information, obtaining the specific dimension data corresponding to the OneID in the Bitmap result file, and outputting.
[0016] Optionally, the specific dimension data includes at least one of the following: UserId, DeviceId, phone, imei, idfa, openid, and Tags.
[0017] Optionally, it further comprises generating column text index and index description information.
[0018] Optionally, it further comprises generating the Bitmap file corresponding to each label and containing OneID and obtaining the mapping information of OneID to specific dimension data by using a timing offline task.
[0019] Optionally, it further comprises caching the Bitmap file frequently used.
[0020] Optionally, it further comprises parsing the query of the business into a directed acyclic graph for execution.
[0021] Optionally, it comprises obtaining the number of results of the crowd by the capacity of the Bitmap result file.
[0022] Optionally, it further comprises outputting in a GRPC stream streaming manner.
[0023] Another technical solution of the present application provides a device for crowd circle selection, comprising: a computing module configured to generate a Bitmap file corresponding to each label and containing OneID and obtain mapping information of OneID to specific dimension data; and a circle selection module configured to parse a query of a business, perform intersection, union or complement operation on the Bitmap file according to the query, generate a Bitmap result file, according to the Bitmap result file, find the mapping information, obtain the specific dimension data corresponding to the OneID in the Bitmap result file, and output.
[0024] Optionally, the specific dimension data includes at least one of the following: UserId, DeviceId, phone, imei, idfa, openid, Tags.
[0025] Optionally, the computing module is further configured to generate column text index and index description information.
[0026] Optionally, the computing module is further configured to generate a Bitmap file corresponding to each tag and containing OneID and mapping information from OneID to specific dimension data by a timing offline task.
[0027] Optionally, the circle selection module is further configured to cache high-frequency Bitmap files.
[0028] Optionally, the circle selection module is further configured to parse the query of the business into a directed acyclic graph for execution.
[0029] Optionally, the circle selection module is further configured to obtain the number of result crowds by the capacity of the Bitmap result file.
[0030] Optionally, the circle selection module is further configured to output in a GRPC stream mode.
[0031] Another technical solution of the present application also provides an electronic device, which includes a processor, a memory, and a computer program stored in the memory and running on the memory, and the processor implements the steps of the method of any one of the above technical solutions when executing the computer program.
[0032] Another technical solution of the present application also provides a computer readable storage medium, and the computer program is executed by the processor to implement the steps of the method of any one of the above technical solutions.
[0033] The technical solution of the present application mainly has the following beneficial effects:
[0034] First, the second-level crowd circle selection and stream crowd package output are realized. In the case of existing cache, the insight logic can be completed in about 100 ms, and in the case of no cache, the insight can be completed in 4 to 5 s.
[0035] Second, the low-cost calculation logic based on Bitmap bitwise intersection and union supplement, and the efficient data transmission protocol of GRPC effectively solve the problems of long time consumption, high resource consumption, and low efficiency of crowd package data in crowd circle selection.
[0036] Third, the application layer learns from the idea of "zero copy", and realizes high-performance crowd package transmission by reducing data copying as much as possible. The distributed crowd package output greatly improves the efficiency. Attached Figure Description
[0037] To better understand the various exemplary embodiments, reference can be made to the accompanying drawings, in which:
[0038] Figure 1 A flowchart illustrating the crowd selection method provided in the embodiment is shown;
[0039] Figure 2 A schematic diagram of some steps in the crowd selection method provided in the embodiment is shown;
[0040] Figure 3 A schematic diagram of some steps in the crowd selection method provided in the embodiment is shown;
[0041] Figure 4 A schematic diagram of some steps in the crowd selection method provided in the embodiment is shown;
[0042] Figure 5 A schematic diagram of the structure of the crowd selection device provided in the embodiment is shown.
[0043] For ease of understanding, the same reference numerals have been used to refer to elements having substantially the same or similar structure and / or substantially the same or similar function. Detailed Implementation
[0044] The description and figures illustrate the principles of the invention. Therefore, it will be understood that those skilled in the art will be able to design various arrangements, which, although not explicitly described or illustrated herein, embody the principles of the invention and are included within its scope. Furthermore, all examples cited herein are primarily intended for illustrative purposes to aid the reader in understanding the principles of the invention and the concepts provided by the inventors to deepen understanding in the field, and all examples should be considered as not being limited to such specific cited examples and conditions. Additionally, as used herein, unless otherwise indicated (e.g., “or additionally” or “or in an alternative”), the term “or” means non-exclusive or (i.e., and / or). Moreover, the various embodiments described herein are not necessarily mutually exclusive, as some embodiments can be combined with one or more other embodiments to form new embodiments.
[0045] Terminology Explanation:
[0046] Bitmap: is a bitwise data structure.
[0047] GRPC: A remote procedure call protocol open-sourced by Google, known for its high performance and efficiency.
[0048] The first embodiment provides a method for selecting a crowd. Figure 1A flowchart of a method of crowd circle selection provided by an embodiment is shown, Figure 2 , Figure 4 A schematic diagram of part of the method of crowd circle selection provided by an embodiment is shown; the method of crowd circle selection comprises:
[0049] S101: Generate a Bitmap file corresponding to each label containing OneID.
[0050] The label (Tag) can be a user attribute label, a device behavior label, or other information related to the user and the device. The user attribute label can include the user's age, gender, income, etc.; the device behavior label can include clicking on an advertisement, browsing certain information, etc. The OneID refers to the unique identification of a natural person in the Internet, and a unique identification ID is assigned to the natural person by associating the natural person ID, device ID, OpenID, mobile phone number, etc. Each label has a corresponding crowd OneID, and the Bitmap file can be named with the label. The Bitmap file includes the crowd OneID corresponding to each label. For example, the Bitmap file of Tag1, the name of the Bitmap file is Tag1, the OneID of the natural person corresponding to Tag1 is 1 and 10, and the first and tenth positions in the Bitmap file can be marked as 1, and the other positions are marked as 0. Each Tag has a corresponding Bitmap file. It can be obtained by offline calculation.
[0051] S102: Obtain mapping information of OneID to specific dimension data.
[0052] The specific dimension data can include UserId (user ID), DeviceId (device ID), phone (mobile phone number), imei (mobile phone serial number), idfa (advertising identifier), openid (digital identity recognition framework), etc. For example, OneID is 1 and 10, which can be mapped to know the corresponding UserId, DeviceId, phone, imei, idfa, openid, etc.
[0053] As Figure 2 shown, through the user dimension table, the traffic dimension table, and other tables, through a distributed connection algorithm, a total table about OneID is obtained, that is, the mapping (Mapping) information table in the figure, which records the information of other dimensions corresponding to each OneID. For example, as shown in Table 1.
[0054] OneID UserId DeviceId Phone …… Tags 0 U1 Null 153,166 …… T1 1 Null D4 177 …… T4 2 U2, U3 D3 156 …… T2, T3 3 U4 D1, D2 139 …… T5
[0055] Table 1
[0056] Then according to the tags Tag, each Tag is made into a corresponding Bitmap file. For example, T1, T2, T3, T4, T5 in Table 1, 5 corresponding Bitmap files are made, and the Bitmap file records the OneID corresponding to each Tag.
[0057] Based on the generated Bitmap file, a crowd index is created. The crowd index can optionally include: Bitmap file, mapping (Mapping) information, column text index, index description (mate) information, which can be saved in the form of ORC File.
[0058] The column text index is to take OneID from the mapping information table and add other any information. For example, OneID+UserId, OneID+DeviceId, etc. In this way, when only one information is needed, it can be more efficient and faster to find, for example, when only OneID+UserId information is needed, only the column text index of OneID+UserId can be searched.
[0059] In addition, mate information can also be included. The mate information includes the maximum OneID, the field of the index, time and other information.
[0060] The generation of the crowd index can depend on the offline T+1 task, based on the data warehouse, the unique natural identifier is calculated through the connected graph algorithm, then the tag to OneId is reversely calculated to generate the Bitmap file, finally the mapping information, Bitmap file, column text index, index description information, etc. are written into the crowd index file of the day, and it is identified that the crowd index is available, and the service side will automatically switch to the file for query operation. The above two processes are asynchronous, the former depends on the data generated by the latter, which is a real-time processing process; the latter is an asynchronous T+1 process, which does not depend on the former, and belongs to the offline calculation link.
[0061] Optionally, offline calculation can be performed at certain intervals, for example, these information can be updated every day.
[0062] Optionally, the Bitmap file of the popular and high-frequency used Tag can be cached, such as the Bitmap of male gender is cached after being loaded into the memory once, and when scanning is needed in the future, it does not need to be searched in the file system.
[0063] S103: Analyze the query of the business, and perform intersection, union or complement operation on the above Bitmap file to generate a Bitmap result file.
[0064] To achieve high interpretability and intuitiveness, a new query protocol can be defined (referencing the Elasticsearch query protocol). This could be the highly readable standard protocol JASON, rather than traditional SQL. For example... Figure 2 The query for the marketing business is: male born in the 1990s, BMW X5 model, visited Continental Tires in the last 30 days, and did not place any tire orders in the last 30 days.
[0065] The query protocol is parsed and orchestrated, transforming the query into a directed acyclic graph (DAG) execution process. The execution logic is abstracted into intersect, union, and minus operators, each corresponding to the intersection, union, and minus operations of a Bitmap, ultimately converting it into the parallel execution logic of the DAG.
[0066] like Figure 3 As shown, for example, parsing the query as: Union (90s, male, BMW X5 car model) is to perform a union operation on the Bitmap corresponding to 90s, the Bitmap corresponding to male, and the Bitmap corresponding to BMW X5 car model; Minus (recently visited Continental Tires in the last 30 days, placed tire orders in the last 30 days) is to perform a difference operation on the Bitmap corresponding to 30 visits to Continental Tires and the Bitmap corresponding to tire orders placed in the last 30 days, and finally perform an intersection operation (intersect) on the two to form a Bitmap result file.
[0067] The insight logic service can perform intersection, union, and complement operations on the Bitmap file. Optionally, to improve performance, a DAG parallel execution framework with return dependencies can be used to parse the original query and generate parallel jobs for execution, ultimately generating a Bitmap result file. This Bitmap result file contains the OneID of the crowd obtained by the above combined operations, with the corresponding position of the OneID marked as 1 and the others marked as 0.
[0068] The number of people in the resulting crowd can be obtained by acquiring the capacity (calculating the total number marked as 1), an operation known as insight. Insight involves dynamically calculating the distribution of the task package's quantity; by obtaining the Bitmap of the result, the number of people in the crowd can be directly obtained.
[0069] S104: Based on the Bitmap result file, find the mapping information, obtain the specific dimension data corresponding to OneID in the Bitmap result file, and output it.
[0070] The circle selection engine can scan and filter the mapping information according to the calculation result (bitmap), that is, the bitmap result file, take out the OneID marked as 1 on the bitmap result file position, associate with the mapping information, and thus obtain the specific information of the field of the person group to be queried (including: Userld, DeviceId, etc.), that is, the person group package data.
[0071] The person group package data is mainly based on the result bitmap to obtain the user identifier (Userld, DeviceId, etc.) satisfying the bitmap. Here, the marketing platform and the circle selection engine need to cooperate to complete.
[0072] The marketing platform obtains the file distribution information of the person group mapping based on the RPC interface of the obtained person group mapping information, splits the information into different tasks and drops the information into a message queue, and then distributes the task information. When a certain task information is consumed, the streaming RPC interface of the circle selection engine is called to output the corresponding person group package data.
[0073] Optionally, the GRPC stream streaming mode can be used to return to the marketing business platform. The marketing business platform can obtain the data and perform operations such as pushing, sending messages, and sending coupons. One scan hit is sent through a stream.
[0074] The message queue can consume these tasks, and multiple services can pull data, read task allocation, obtain shard information, and read lost data to optimize performance.
[0075] As shown in Figure 4 , the bitmap file and the mapping information can be stored in the HDFS.
[0076] Optionally, the circle selection service can obtain the bitmap index based on the NIO mode. The NIO is a protocol used for network communication.
[0077] The marketing platform can perform person group insight and query person group package shard information, and the circle selection service can output the person group package to the marketing platform through the GRPC.
[0078] The second embodiment also provides a person group circle selection apparatus 200, as shown in Figure 5 , comprising a calculation module 201 and a circle selection module 202.
[0079] The calculation module 201 is configured to generate a bitmap file corresponding to each tag and containing OneID, and to obtain mapping information of OneID to specific dimension data.
[0080] The tag (Tag) can be a user attribute tag, a device behavior tag, or other information related to the user and the device. The user attribute tag can include the user's age, gender, income, etc.; the device behavior tag can include clicking on an advertisement, browsing certain information, etc. The OneID refers to a unique identification of a natural person in the Internet, and a unique identification ID is assigned to the natural person by associating the natural person ID, the device ID, the OpenID, the mobile phone number, etc. Each tag has a corresponding OneID of the people, and the Bitmap file can be named by the tag, and the Bitmap file includes the OneID of the people corresponding to each tag. For example, the Bitmap file of Tag1, the name of the Bitmap file is Tag1, the OneID of the natural person corresponding to Tag1 is 1 and 10, and the first and tenth positions in the Bitmap file can be marked as 1, and the other positions are marked as 0. Each Tag has a corresponding Bitmap file. It can be obtained by offline calculation.
[0081] The specific dimension data can include UserId (user ID), DeviceId (device ID), phone (mobile phone number), imei (mobile phone serial number), idfa (advertising identifier), openid (digital identity recognition framework), etc. For example, OneID is 1 and 10, and the corresponding UserId, DeviceId, phone, imei, idfa, openid, etc. of the OneID 1 and OneID 10 can be obtained by mapping.
[0082] As shown in Figure 2 The computing module 201 obtains the total table about OneID through the user dimension table, the traffic dimension table, and other tables by using a distributed connection algorithm, that is, the mapping (Mapping) information table in the figure, which records the information of other dimensions corresponding to each OneID. For example, Table 1 can be used.
[0083] OneID UserId DeviceId Phone …… Tags 0 U1 Null 153,166 …… T1 1 Null D4 177 …… T4 2 U2, U3 D3 156 …… T2, T3 3 U4 D1, D2 139 …… T5
[0084] Table 1
[0085] The computing module 201 makes each Tag into a corresponding Bitmap file according to the tag Tag. For example, T1, T2, T3, T4, and T5 in Table 1 are made into five corresponding Bitmap files, and the Bitmap files record the OneID corresponding to each Tag.
[0086] The computing module 201 creates a people index based on the generated Bitmap file. The people index can optionally include: the Bitmap file, mapping information, column text index, index description (mate) information, which can be saved in the form of an ORC file.
[0087] The column text index is OneID taken from the mapping information table, plus any other information. For example, OneID+UserId, OneID+DeviceId, etc. This way, when only one piece of information is needed, it can be found more efficiently and quickly. For example, when only OneID+UserId information is needed, only the OneID+UserId column text index can be searched.
[0088] In addition, mate information can also be included. The mate information includes the maximum OneID, the indexed field, time, and other information.
[0089] The generation of the people index can rely on the offline T+1 task, based on the data warehouse, the unique natural identifier is calculated through the connected graph algorithm, then the label is reversely calculated to generate the Bitmap file, finally the mapping information, Bitmap file, column text index, index description information, etc. are written into the people index file of the day, and it is identified that the people index is available, and the service side will automatically switch to the file for query operation. The above two processes are asynchronous, the former depends on the data generated by the latter, and is a real-time processing process; the latter is an asynchronous T+1 process, which does not depend on the former, and belongs to the offline calculation link.
[0090] Optionally, the computing module 201 can perform offline calculation at certain intervals, for example, the information can be updated every day.
[0091] The circle selection module 202 is configured to: parse the query of the business, perform intersection, union or complement operation on the above Bitmap file according to the query, generate a Bitmap result file, find the mapping information according to the Bitmap result file, obtain the specific dimension data corresponding to the OneID in the Bitmap result file, and output.
[0092] In order to achieve strong explainability and simple and intuitive effect, a new query protocol (which can refer to the query protocol of ES) can be formulated, such as Figure 2 The Query of the marketing business: 90s, male, car model BMW X5, visited German brand tires in the last 30 days, and did not order tires in the last 30 days.
[0093] The circle selection module 202 parses the protocol of the query and arranges it, parses the query into a DAG execution process, and abstracts the execution logic into intersect, union, and minus operators. Each operator corresponds to the intersection, union, and difference operations of Bitmap, and is finally converted into the parallel execution logic of DAG.
[0094] As shown in Figure 3 For example, the query Query is parsed into Union (90s, male, and BMW X5), which is the union operation of the Bitmap corresponding to 90s, the Bitmap corresponding to male, and the Bitmap of the car model BMW X5. Minus (recently visited German brand tires in the past 30 days, and recently ordered tires in the past 30 days) is the difference set operation of the Bitmap corresponding to the 30 visited German brand tires and the Bitmap corresponding to the past 30 days with tire ordering. Finally, the two are intersected (intersect) to form a Bitmap result file.
[0095] The circle selection module 202 can perform combination operations of intersection, union, and difference on the Bitmap file. Optionally, in order to improve performance, a DAG parallel execution framework with return dependency can be used to generate a parallel job for original Query parsing and execution, and finally generate a Bitmap result file. The Bitmap result file contains the population OneID obtained by the above combination operation, and the corresponding position of the result population OneID is marked as 1, and the others are marked as 0.
[0096] The number of the result population can be obtained by obtaining the capacity (calculating the total number marked as 1). This operation can be called insight. Insight belongs to the dynamic calculation of the number distribution of the task package, and after obtaining the result Bitmap, the number of the population can be directly obtained.
[0097] Optionally, the Bitmap file of the popular Tag can be cached, such as the Bitmap of the male gender, which is loaded into the memory and then cached. When scanning is needed in the future, it is not necessary to search in the file system again.
[0098] The circle selection module 202 can scan and filter the Mapping information according to the calculation result (Bitmap), that is, the Bitmap result file, take out the OneID marked as 1 in the Bitmap result file position, associate it with the Mapping information, and thus obtain the specific information (including: UserId, DeviceId, etc.) of the population of the field to be queried, that is, the population package data.
[0099] The crowd package data is mainly based on the result Bitmap to obtain the user identification (Userld, DeviceId, etc.) satisfying the Bitmap, and can be completed by the marketing platform and the circle selection module 202.
[0100] The marketing platform obtains the file distribution information of the crowd mapping based on the RPC interface for obtaining the crowd mapping information, splits the file distribution information into different tasks and puts the tasks into a message queue, and then distributes the task information. After a certain task information is consumed, a streaming RPC interface of the circle selection module 202 is called to output corresponding crowd package data.
[0101] Optionally, the circle selection module 202 can return to the marketing business platform in the form of GRPC stream streaming. The marketing business platform can obtain the data and perform operations such as pushing, sending messages, and issuing coupons. A scan hits a stream to send a message.
[0102] The message queue can consume these tasks, and multiple services can pull data to read task allocation, obtain shard information, and read loss data to optimize performance.
[0103] The third embodiment also provides an electronic device, including a processor, a memory, and a computer program stored in the memory and executed by the processor. When the processor executes the computer program, the steps of the method of any of the above embodiments are implemented, such as steps S101 to S104, or when the processor executes the computer program, the functions of the modules / units in the above embodiments are implemented, such as the functions of units 201 to 202. The computer program can be divided into one or more modules / units, which are stored in the memory and executed by the processor. The one or more modules / units can be a series of computer program instruction segments capable of completing a specific function, which are used to describe the execution process of the computer program in the electronic device.
[0104] The electronic device can be a mobile terminal such as a smart phone, or a computing device such as a desktop computer, a notebook computer, a palm computer, and a cloud server. The electronic device can include, but is not limited to, a processor and a memory, can include more or fewer components, or combine some components, for example, the electronic device can further include an input / output device, a network access device, a bus, and the like. The processor can be a central processing unit (CPU), and can also be other general-purpose processors, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, and the like. The general-purpose processor can be a microprocessor or the processor can also be any conventional processor. The memory can be an internal storage unit of the electronic device, for example, a hard disk or a memory of the electronic device. The memory can also be an external storage device of the electronic device, for example, a plug-in hard disk, a smart media card (SMC), a secure digital (SD) card, a flash card, and the like. Further, the memory can include both the internal storage unit and the external storage device of the electronic device.
[0105] The fourth embodiment further provides a computer readable storage medium, wherein the computer program is executed by a processor to implement the steps of the method of any one of the above embodiments.
[0106] The various function units in the embodiments of the present application can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit. The integrated unit can be realized in the form of hardware, or in the form of a software function unit. When the integrated unit is realized in the form of a software function unit and sold or used as an independent product, it can be stored in a computer readable storage medium. Based on such an understanding, all or part of the flow of the method in the above-described embodiments can be implemented by a computer program, and the computer program can instruct relevant hardware to complete, and the computer program can be stored in a computer readable storage medium. The computer program includes computer program code, which can be in the form of source code, object code, executable file or some intermediate form. The computer readable medium can include any entity or device, recording medium, U disk, mobile hard disk, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electric carrier wave signal, telecommunication signal and software distribution medium, etc. It should be noted that the computer readable medium can include or exclude contents according to the requirements of legislation and patent practice in the jurisdiction, for example, in some jurisdictions, according to legislation and patent practice, the computer readable medium does not include electric carrier wave signal and telecommunication signal.
[0107] Those skilled in the art can clearly understand that, for the convenience and brevity of description, only the division of the above function units and modules is taken as an example, and in actual application, the above functions can be completed by different function units and modules according to needs, that is, the internal structure of the device is divided into different function units or modules to complete all or part of the functions described above. The function units and modules in the embodiments can be integrated in one processing unit, or each unit can exist physically, or two or more units can be integrated in one unit, and the integrated unit can be realized in the form of hardware or in the form of a software function unit. In addition, the specific names of the function units and modules are only for convenient distinction, and do not limit the protection scope of the present application. The specific working process of the units and modules in the system can refer to the corresponding process in the foregoing method embodiments, and will not be repeated here.
[0108] In the above embodiments, the description of each embodiment has its own focus, and the parts not described or recorded in a certain embodiment can be referred to the relevant description of other embodiments. A person of ordinary skill in the art can be aware that units and algorithm steps of each example described in combination with the embodiments disclosed herein can be implemented by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solutions. A person skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.
[0109] In the embodiments provided in the present application, it should be understood that the disclosed system, electronic device and method can be implemented in other ways. For example, the above-described system, electronic device embodiments are merely schematic, for example, the division of the modules or units is only a logical function division, and there can be another division manner in actual implementation, for example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the coupling or direct coupling or communication connection between the shown or discussed units can be indirect coupling or communication connection through some interface, system or unit, and can be electrical, mechanical or other forms. The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, that is, they can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.
[0110] The above-described embodiments are only used to illustrate the technical solutions of the present application, rather than limit them; although the present application has been described in detail with reference to the foregoing embodiments, a person of ordinary skill in the art should understand that the technical solutions recorded in the foregoing embodiments can be modified, or some technical features can be replaced by equivalents; and these modifications or replacements do not make the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should be included in the protection scope of the present application.
Claims
1. A method of crowd circle selection, characterized in that, The method comprises the following steps: generating a Bitmap file corresponding to each label and containing OneID; obtaining mapping information of OneID to specific dimension data; parsing a query of a business, performing intersection, union or complement operation on the Bitmap file according to the query, generating a Bitmap result file, and parsing the query of the business into a directed acyclic graph for execution; according to the Bitmap result file, searching the mapping information, obtaining specific dimension data corresponding to OneID in the Bitmap result file, and outputting the specific dimension data; creating a population index based on the generated Bitmap file; the generation of the population index depends on an offline task, and the unique natural identifier is calculated based on data warehouse data through a connected graph algorithm, the Bitmap file generated by reversing the calculation of the label to OneID, the mapping information, the column text index, the index description information are written into the population index file of the day, and it is identified that the population index is available, and the service side automatically switches to the file for query operation, wherein the generation of the population index and the calculation of the unique natural identifier are asynchronous.
2. The method of cohort selection of claim 1, wherein, The specific dimension data comprises at least one of the following: UserId, DeviceId, phone, imei, idfa, openid and Tags.
3. The method of cohort selection of claim 1, wherein, The method further comprises the following steps: generating a column text index and index description information.
4. The method of cohort selection of claim 1, wherein, The method further comprises the following steps: generating a Bitmap file corresponding to each label and containing OneID and obtaining mapping information of OneID to specific dimension data by using a timing offline task.
5. The method of cohort selection of claim 1, wherein, The method further comprises the following steps: caching a high-frequency Bitmap file.
6. The method of cohort selection of claim 1, wherein, The method further comprises the following steps: inspecting the number of result population through the capacity of the Bitmap result file.
7. The method of cohort selection of claim 1, wherein, The method further comprises the following steps: outputting in a GRPC stream mode.
8. A device for crowd circle selection, characterized in that, The method comprises the following steps: a calculation module is configured to generate a Bitmap file corresponding to each label and containing OneID and obtain mapping information of OneID to specific dimension data; a circle selection module is configured to parse a query of a business, parse the query of the business into a directed acyclic graph for execution, perform intersection, union or complement operation on the Bitmap file according to the query, generate a Bitmap result file, according to the Bitmap result file, search the mapping information, obtain specific dimension data corresponding to OneID in the Bitmap result file, and output the specific dimension data; create a population index based on the generated Bitmap file; the generation of the population index depends on an offline task, and the unique natural identifier is calculated based on data warehouse data through a connected graph algorithm, the Bitmap file generated by reversing the calculation of the label to OneID, the mapping information, the column text index, the index description information are written into the population index file of the day, and it is identified that the population index is available, and the service side automatically switches to the file for query operation, wherein the generation of the population index and the calculation of the unique natural identifier are asynchronous.
9. The apparatus for crowd culling of claim 8, wherein, The specific dimension data comprises at least one of the following: UserId, DeviceId, phone, imei, idfa, openid and Tags.
10. The apparatus for crowd circle selection of claim 8, wherein, The calculation module is further configured to generate a column text index and index description information. The calculation module is further configured to generate a column text index and index description information.
11. The apparatus for crowd circle selection of claim 8, wherein, The computing module is further configured to generate a Bitmap file corresponding to each label and containing OneID and mapping information of OneID to specific dimension data by using a timing offline task.
12. The apparatus for cohort selection of claim 8, wherein, The circle selection module is further configured to cache Bitmap files frequently used.
13. The apparatus for crowd circle selection of claim 8, wherein, The circle selection module is further configured to obtain the number of result crowds by the capacity of the Bitmap result file.
14. The apparatus for cohort selection of claim 8, wherein, The circle selection module is further configured to output in a GRPC stream manner.
15. An electronic device, comprising: The computer program is executed by the processor to implement the method in any one of claims 1-9. The computer program is executed by the processor to implement the method in any one of claims 1-8.
16. A computer readable storage medium having stored thereon a computer program, characterized in that
Citation Information
Patent Citations
Member data circling method and system for e-commerce platform
CN111444165A
Multi-dimensional quick matching method and device and storage medium
CN113641672A