CN114741414A - 人群圈选的方法、装置、电子设备和存储介质 - Google Patents
人群圈选的方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN114741414A CN114741414A CN202210376698.1A CN202210376698A CN114741414A CN 114741414 A CN114741414 A CN 114741414A CN 202210376698 A CN202210376698 A CN 202210376698A CN 114741414 A CN114741414 A CN 114741414A
- Authority
- CN
- China
- Prior art keywords
- crowd
- bitmap
- oneid
- file
- circling
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24539—Query rewriting; Transformation using cached or materialised query results
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提供了一种人群圈选的方法、装置、电子设备和存储介质,其中人群圈选的方法包括:生成每个标签对应的存有OneID的Bitmap文件;获取OneID到具体维度数据的映射信息;解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件;根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
Description
技术领域
本发明涉及人群圈选领域。
背景技术
人群圈选是为了给特征人群采取特定的营销方案,达到精细化运营的效果。人群圈选是按照不同的用户标签和行为过程,通过特定的业务规则(例如90后男并且最近访问过某个轮胎)筛选出来的一批用户的过程。人群数据往往很庞大,复杂的人群圈选过程会导致效率非常慢。
在业界人群圈选架构:底层主要采用大数据MapReduce工具,或者OLAP分析引擎进行,其过程如下:
1.营销平台下发圈选任务到圈选服务(通常是定义的业务逻辑,如:查询开宝马X5的男性用户)
2.圈选服务接收到圈选请求以后,通过按照一定的解析逻辑进行对圈选逻辑解析,通常会解析成SQL类的任务
3.圈选服务把解析出来的SQL任务下发到具体的执行引擎,可以是大数据HIVE或者是OLAP分析引擎
4.底层引擎通过执行SQL,圈选出一个人群包,然后在通过大数据ETL工具同步到业务存储里边供业务使用
现有技术主要有几方面的缺点:
1.数据拷来拷去效率非常慢;
2.底层执行效率低,每次圈选都需要从底层数据全量计算;
3.人群包输出效率慢,数据量庞大,导致业务存储不稳定;
4.难以支持大规模的人群圈选任务;
5.不能实时的提供洞察结果,每次圈选业务都需要等待。
发明内容
下文呈现各种示例性技术方案的概述。在以下概述中可以进行一些简化和省略,其意在突出并介绍各种示例性技术方案的一些方面,但不限制本发明的范围。将在后续部分呈现足以允许本领域的普通技术人员产生并使用本发明概念的示例性技术方案的详细描述。
为解决上述技术问题,本发明的技术方案提供一种人群圈选的方法,包括:生成每个标签对应的存有OneID的Bitmap文件;获取OneID到具体维度数据的映射信息;解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件;根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
可选地,所述具体维度数据包括以下至少之一:UserId、DeviceId、phone、imei、idfa、openid、Tags。
可选地,还包括:生成列文索引、索引描述信息。
可选地,还包括:用定时离线任务生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息。
可选地,还包括:缓存高频率使用的Bitmap文件。
可选地,还包括:把业务的查询解析成有向无环图执行。
可选地,包括:通过获取Bitmap结果文件容量洞察结果人群的数量。
可选地,还包括:通过GRPC stream流式的方式输出。
本发明的另一个技术方案提供了一种人群圈选的装置,包括:计算模块,被配置为:生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息;圈选模块,被配置为:解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件,根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
可选地,所述具体维度数据包括以下至少之一:UserId、DeviceId、phone、imei、idfa、openid、Tags。
可选地,计算模块,还被配置为:生成列文索引、索引描述信息。
可选地,计算模块,还被配置为:用定时离线任务生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息。
可选地,圈选模块,还被配置为:缓存高频率使用的Bitmap文件。
可选地,圈选模块,还被配置为:把业务的查询解析成有向无环图执行。
可选地,圈选模块,还被配置为:通过获取Bitmap结果文件容量洞察结果人群的数量。
可选地,圈选模块,还被配置为:通过GRPC stream流式的方式输出。
本发明的另一个技术方案还提供了一种电子设备,包括:处理器、存储器以及存储在存储器上运行的计算机程序,所述处理器执行计算机程序时实现上述任一个技术方案所述的方法的步骤。
本发明的另一个技术方案还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一个技术方案所述的方法的步骤。
本发明的技术方案主要具有以下几个发面的有益效果:
第一、实现秒级人群圈选以及流式人群包输出。在已有缓存情况下,洞察逻辑100ms左右即可完成,在没有缓存情况下4到5s可以完成洞察。
第二、通过基于Bitmap的按位交并补的低成本计算逻辑,以及GRPC高效的数据传输协议,有效的解决了人群圈选耗时大、资源消耗多、人群包数据效率低的问题。
第三、应用层借鉴了“零拷贝”的思想,本着尽可能的减少数据的拷贝来实现了高性能的人群包传输,分布式的人群包输出大大提高了效率。
附图说明
为了更好地理解各种示例性实施例,可以参考附图,在附图中:
图1示出了实施例提供的人群圈选的方法的流程示意图;
图2示出了实施例提供的人群圈选的方法中部分步骤的示意图;
图3示出了实施例提供的人群圈选的方法中部分步骤的示意图;
图4示出了实施例提供的人群圈选的方法中部分步骤的示意图;
图5示出了实施例提供的人群圈选的装置的结构示意图。
为了便于理解,相同的附图标记已用于指代具有基本上相同或类似结构和/或基本上相同或类似功能的元件。
具体实施方式
描述和图式示出了本发明的原理。因此,将了解,本领域的技术人员将能够设计各种布置,尽管本文中未明确地描述或示出所述布置,但所述布置体现本发明的原理且包括在本发明的范围内。此外,本文中所引述的所有例子主要旨在明确地用于教学目的,以帮助读者理解本发明的原理和由发明人提供的用以深化本领域的概念,并且所有例子应视为并不限于此类特定引述的例子和条件。另外,如本文中所使用,除非另有指示(例如,“或另外”或“或在替代方案中”),否则术语“或”是指非排他性的或(即,和/或)。并且,本文中所描述的各种实施例不一定相互排斥,因为一些实施例可以与一个或多个其它实施例组合以形成新的实施例。
术语解释:
Bitmap:是一种按位存储的数据结构。
GRPC:Google开源的一种远程过程调用协议,性能与效率较高。
第一个实施例提供了一种人群圈选的方法,图1示出了实施例提供的人群圈选的方法的流程示意图,图2、图4示出了实施例提供的人群圈选的方法中部分步骤的示意图;所述人群圈选的方法包括:
S101:生成每个标签对应的存有OneID的Bitmap文件。
所述标签(Tag)可以是用户属性标签,也可以是设备行为标签,也可以包括其他与用户、设备相关的信息。用户属性标签可以包括用户的年龄、性别、收入等等;设备行为标签可以包括点击广告、浏览某些信息等等。所述OneID是指在互联网中一个自然人的唯一标识,通过关联自然人ID、设备ID、OpenID、手机号等给自然人赋值一个唯一标识ID。每个标签都有对应的人群OneID,所述Bitmap文件可以用标签来命名,Bitmap文件中包括每个标签对应的人群OneID。例如Tag1的Bitmap文件,该Bitmap文件名字就是Tag1,Tag1对应的自然人的OneID是1和10,Bitmap文件里可以把第1和第10个位置标记成1,其他位置标记成0。每个Tag都有一个对应的Bitmap文件。可以通过离线计算的方式得到。
S102:获取OneID到具体维度数据的映射信息。
所述具体维度数据可以包括UserId(用户ID)、DeviceId(设备ID)、phone(手机号)、imei(手机序列号)、idfa(广告标识符)、openid(数字身份识别框架)等。例如OneID是1和10,就能通过映射得知该OneID1和OneID 10对应的UserId、DeviceId、phone、imei、idfa、openid等内容。
如图2所示,通过用户维度表、流量维度表、其他表格,通过分布式联通算法,得到关于OneID的总表,即图中的映射(Mapping)信息表,记录每一个OneID对应的其他维度的信息,具体举例可以如表1所示。
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 |
表1
然后根据标签Tag,把每个Tag都做成对应的Bitmap文件。例如表1中有T1、T2、T3、T4、T5,就做5个相应的Bitmap文件,Bitmap文件中记录每个Tag对应的OneID。
基于生成的Bitmap文件创建人群索引。人群索引可选地,可以包括:Bitmap文件、映射(Mapping)信息、列文索引、索引描述(mate)信息,它们可以以ORC File的形式保存。
列文索引,就是从映射信息表里取OneID,再加其他任一个信息。例如OneID+UserId、OneID+DeviceId等等,这样是当只需要其中某一信息的时候,可以更高效快速地查找,例如只需要知道OneID+UserId信息的时候,可以只查找OneID+UserId的列文索引。
此外,还可以包含mate信息。Mate信息中包含最大OneID、索引的字段、时间等其他信息。
人群索引的生成可以依赖于离线T+1的任务,基于数仓数据,通过连通图算法把唯一自然标识计算出来,然后反向计算标签到OneId生成的Bitmap文件,最后把映射信息,Bitmap文件,列文索引,索引描述信息等写入当天的人群索引文件,并标识该人群索引可用,服务侧会自动切换至该文件进行查询操作。以上两个过程是异步的,前者依赖后者的数据生成,是一个实时的处理过程;后者是异步T+1的过程,不依赖前者,属于离线计算环节。
可选地,可以每隔一定时间进行离线计算,例如可以每天都更新这些信息。
可选地,可以将热门的、高频率使用的Tag的Bitmap文件缓存起来,比如性别男的Bitmap一次加载到内存后就缓存起来,以后需要扫描的时候,无需再到文件***里查找。
S103:解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件。
为了达到可解释性强,简单直观的效果,可以制定新的查询协议(可以参考了ES的查询协议),可以是可读性强的标准协议JASON,而非传统的SQL。如图2中营销业务的Query:90后、男、车型宝马X5,最近30访问过德国马牌轮胎、最近30天没有过轮胎下单。
解析查询(Query)的协议并进行编排,把该查询解析成有向无环图(DAG)执行过程,我们把执行逻辑抽象成:交(intersect)、并(union)、补(minus)算子,每个算子对应的就是Bitmap的交、并、补操作,最终转换成DAG的并行执行逻辑。
如图3所示,例如把查询Query解析成:Union(90后、男、车型宝马X5),是把90后对应的Bitmap、男对应的Bitmap、车型宝马X5的Bitmap进行并集的操作;Minus(最近30访问过德国马牌轮胎、最近30天有过轮胎下单),是把30访问过德国马牌轮胎对应的Bitmap、最近30天有过轮胎下单对应的Bitmap进行差集操作,最后在把两者进行交集操作(intersect),形成Bitmap结果文件。
可以由洞察逻辑服务根据Bitmap文件进行交、并、补的组合运算,可选地,为了提高性能,可以采用的是有返回依赖的DAG并行执行框架进行对原始Query解析生成并行作业来执行,最终生成一个Bitmap结果文件,该Bitmap结果文件包含符合上述组合运算得到的人群OneID,在结果人群OneID相应的位置标记为1,其他标记为0。
通过获取容量(计算标记为1的总数)就可以拿到结果人群的数量,该操作可称为洞察。洞察属于动态的计算任务包的数量分布情况,通过获取结果的Bitmap以后,就可以直接获取人群数量了。
S104:根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
圈选引擎可以根据人群输出逻辑根据计算结果(Bitmap),即Bitmap结果文件来扫描过滤Mapping信息,把Bitmap结果文件位置上标为1的OneID拿出来,与Mapping信息关联,从而获取需要查询的字段的人群具体信息(包括:UserId、DeviceId等等),即人群包数据。
人群包数据主要是基于结果Bitmap获取满足该Bitmap的用户标识(UserId,DeviceId等),这里需要营销平台与圈选引擎配合完成。
营销平台基于获取人群映射信息的RPC接口拿到人群映射的文件分布信息,拆分成不用的任务丢到消息队列,然后分布式消费任务信息,当某个任务信息被消费到以后,就会调用圈选引擎的流式RPC接口输出对应的人群包数据。
可选地,可以通过GRPC stream流式的方式来返回给营销业务平台。营销业务平台拿到数据,可以进行推送、发短信、发券等操作。扫描命中一条通过流的方式发一条。
消息队列可以消费这些任务,多个服务去拉数据,读取任务分配、获取分片信息、流失数据读取也可以优化性能。
如图4所示,bitmap文件和Mapping信息可以存放在HDFS中。
可选地,圈选服务可以基于NIO方式获取Bitmap索引。NIO是一种协议,用于网络通信。
营销平台可以进行人群洞察、查询人群包分片信息,圈选服务可以通过GRPC将人群包输出给营销平台。
第二个实施例还提供了一种人群圈选的装置200,如图5所示,包括:计算模块201和圈选模块202。
计算模块201,被配置为:生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息。
所述标签(Tag)可以是用户属性标签,也可以是设备行为标签,也可以包括其他与用户、设备相关的信息。用户属性标签可以包括用户的年龄、性别、收入等等;设备行为标签可以包括点击广告、浏览某些信息等等。所述OneID是指在互联网中一个自然人的唯一标识,通过关联自然人ID、设备ID、OpenID、手机号等给自然人赋值一个唯一标识ID。每个标签都有对应的人群OneID,所述Bitmap文件可以用标签来命名,Bitmap文件中包括每个标签对应的人群OneID。例如Tag1的Bitmap文件,该Bitmap文件名字就是Tag1,Tag1对应的自然人的OneID是1和10,Bitmap文件里可以把第1和第10个位置标记成1,其他位置标记成0。每个Tag都有一个对应的Bitmap文件。可以通过离线计算的方式得到。
所述具体维度数据可以包括UserId(用户ID)、DeviceId(设备ID)、phone(手机号)、imei(手机序列号)、idfa(广告标识符)、openid(数字身份识别框架)等。例如OneID是1和10,就能通过映射得知该OneID1和OneID 10对应的UserId、DeviceId、phone、imei、idfa、openid等内容。
如图2所示,计算模块201通过用户维度表、流量维度表、其他表格,通过分布式联通算法,得到关于OneID的总表,即图中的映射(Mapping)信息表,记录每一个OneID对应的其他维度的信息,具体举例可以如表1所示。
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 |
表1
计算模块201根据标签Tag,把每个Tag都做成对应的Bitmap文件。例如表1中有T1、T2、T3、T4、T5,就做5个相应的Bitmap文件,Bitmap文件中记录每个Tag对应的OneID。
计算模块201基于生成的Bitmap文件创建人群索引。人群索引可选地,可以包括:Bitmap文件、映射(Mapping)信息、列文索引、索引描述(mate)信息,它们可以以ORC File的形式保存。
列文索引,就是从映射信息表里取OneID,再加其他任一个信息。例如OneID+UserId、OneID+DeviceId等等,这样是当只需要其中某一信息的时候,可以更高效快速地查找,例如只需要知道OneID+UserId信息的时候,可以只查找OneID+UserId的列文索引。
此外,还可以包含mate信息。Mate信息中包含最大OneID、索引的字段、时间等其他信息。
人群索引的生成可以依赖于离线T+1的任务,基于数仓数据,通过连通图算法把唯一自然标识计算出来,然后反向计算标签到OneId生成的Bitmap文件,最后把映射信息,Bitmap文件,列文索引,索引描述信息等写入当天的人群索引文件,并标识该人群索引可用,服务侧会自动切换至该文件进行查询操作。以上两个过程是异步的,前者依赖后者的数据生成,是一个实时的处理过程;后者是异步T+1的过程,不依赖前者,属于离线计算环节。
可选地,计算模块201可以每隔一定时间进行离线计算,例如可以每天都更新这些信息。
圈选模块202,被配置为:解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件,根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
为了达到可解释性强,简单直观的效果,可以制定新的查询协议(可以参考了ES的查询协议),如图2中营销业务的Query:90后、男、车型宝马X5,最近30访问过德国马牌轮胎、最近30天没有过轮胎下单。
圈选模块202解析查询(Query)的协议并进行编排,把该查询解析成DAG执行过程,我们把执行逻辑抽象成:交(intersect)、并(union)、补(minus)算子,每个算子对应的就是Bitmap的交、并、补操作,最终转换成DAG的并行执行逻辑。
如图3所示,例如把查询Query解析成:Union(90后、男、车型宝马X5),是把90后对应的Bitmap、男对应的Bitmap、车型宝马X5的Bitmap进行并集的操作;Minus(最近30访问过德国马牌轮胎、最近30天有过轮胎下单),是把30访问过德国马牌轮胎对应的Bitmap、最近30天有过轮胎下单对应的Bitmap进行差集操作,最后在把两者进行交集操作(intersect),形成Bitmap结果文件。
圈选模块202可以根据Bitmap文件进行交、并、补的组合运算,可选地,为了提高性能,可以采用的是有返回依赖的DAG并行执行框架进行对原始Query解析生成并行作业来执行,最终生成一个Bitmap结果文件,该Bitmap结果文件包含符合上述组合运算得到的人群OneID,在结果人群OneID相应的位置标记为1,其他标记为0。
通过获取容量(计算标记为1的总数)就可以拿到结果人群的数量,该操作可称为洞察。洞察属于动态的计算任务包的数量分布情况,通过获取结果的Bitmap以后,就可以直接获取人群数量了。
可选地,可以将热门的Tag的Bitmap文件缓存起来,比如性别男的Bitmap一次加载到内存后就缓存起来,以后需要扫描的时候,无需再到文件***里查找。
圈选模块202可以根据人群输出逻辑根据计算结果(Bitmap),即Bitmap结果文件来扫描过滤Mapping信息,把Bitmap结果文件位置上标为1的OneID拿出来,与Mapping信息关联,从而获取需要查询的字段的人群具体信息(包括:UserId、DeviceId等等),即人群包数据。
人群包数据主要是基于结果Bitmap获取满足该Bitmap的用户标识(UserId,DeviceId等),可以由营销平台与圈选模块202配合完成。
营销平台基于获取人群映射信息的RPC接口拿到人群映射的文件分布信息,拆分成不用的任务丢到消息队列,然后分布式消费任务信息,当某个任务信息被消费到以后,就会调用圈选模块202的流式RPC接口输出对应的人群包数据。
可选地,圈选模块202可以通过GRPC stream流式的方式来返回给营销业务平台。营销业务平台拿到数据,可以进行推送、发短信、发券等操作。扫描命中一条通过流的方式发一条。
消息队列可以消费这些任务,多个服务去拉数据,读取任务分配、获取分片信息、流失数据读取也可以优化性能。
第三个实施例还提供了一种电子设备,包括:处理器、存储器以及存储在存储器上运行的计算机程序,所述处理器执行计算机程序时实现上述任一实施例方法的步骤,例如步骤S101至S104,或者所述处理器执行所述计算机程序时实现上述各实施例中各模块/单元的功能,例如单元201至202的功能。所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备中的执行过程。
所述电子设备可以是智能手机等移动终端,或者是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备可包括,但不仅限于,处理器、存储器,可以包括更多或更少的部件,或者组合某些部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字消息队列的管理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。所述存储器可以是所述电子设备的内部存储单元,例如电子设备的硬盘或内存。所述存储器也可以是所述电子设备的外部存储设备,例如所述电子设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(FlashCard)等。进一步地,所述存储器还可以既包括所述电子设备的内部存储单元也包括外部存储设备。
第四个实施例还提供了一种计算机可读存储介质,所述计算机程序被处理器执行时实现上述任一实施例方法的步骤。
在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述***中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的***、电子设备和方法,可以通过其它的方式实现。例如,以上所描述的***、电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,***或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。
Claims (18)
1.一种人群圈选的方法,其特征在于,包括:
生成每个标签对应的存有OneID的Bitmap文件;
获取OneID到具体维度数据的映射信息;
解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件;
根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
2.根据权利要求1所述的人群圈选的方法,其特征在于,所述具体维度数据包括以下至少之一:UserId、DeviceId、phone、imei、idfa、openid、Tags。
3.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:生成列文索引、索引描述信息。
4.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:用定时离线任务生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息。
5.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:缓存高频率使用的Bitmap文件。
6.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:把业务的查询解析成有向无环图执行。
7.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:通过获取Bitmap结果文件容量洞察结果人群的数量。
8.根据权利要求1所述的人群圈选的方法,其特征在于,还包括:通过GRPC stream流式的方式输出。
9.一种人群圈选的装置,其特征在于,包括:
计算模块,被配置为:生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息;
圈选模块,被配置为:解析业务的查询,根据查询对上述Bitmap文件进行交、并或补的操作,生成Bitmap结果文件,根据Bitmap结果文件,查找映射信息,获取Bitmap结果文件中OneID对应的具体维度数据,并输出。
10.根据权利要求9所述的人群圈选的装置,其特征在于,所述具体维度数据包括以下至少之一:UserId、DeviceId、phone、imei、idfa、openid、Tags。
11.根据权利要求9所述的人群圈选的装置,其特征在于,计算模块,还被配置为:生成列文索引、索引描述信息。
12.根据权利要求9所述的人群圈选的装置,其特征在于,计算模块,还被配置为:用定时离线任务生成每个标签对应的存有OneID的Bitmap文件和获取OneID到具体维度数据的映射信息。
13.根据权利要求9所述的人群圈选的装置,其特征在于,圈选模块,还被配置为:缓存高频率使用的Bitmap文件。
14.根据权利要求9所述的人群圈选的装置,其特征在于,圈选模块,还被配置为:把业务的查询解析成有向无环图执行。
15.根据权利要求9所述的人群圈选的装置,其特征在于,圈选模块,还被配置为:通过获取Bitmap结果文件容量洞察结果人群的数量。
16.根据权利要求9所述的人群圈选的装置,其特征在于,圈选模块,还被配置为:通过GRPC stream流式的方式输出。
17.一种电子设备,其特征在于,包括:处理器、存储器以及存储在存储器上运行的计算机程序,所述处理器执行计算机程序时实现权利要求1-8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376698.1A CN114741414A (zh) | 2022-04-12 | 2022-04-12 | 人群圈选的方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210376698.1A CN114741414A (zh) | 2022-04-12 | 2022-04-12 | 人群圈选的方法、装置、电子设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114741414A true CN114741414A (zh) | 2022-07-12 |
Family
ID=82281800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210376698.1A Pending CN114741414A (zh) | 2022-04-12 | 2022-04-12 | 人群圈选的方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114741414A (zh) |
-
2022
- 2022-04-12 CN CN202210376698.1A patent/CN114741414A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102236581B (zh) | 用于数据中心的映射化简方法和*** | |
US9928251B2 (en) | System and method for distributed categorization | |
CN111459985B (zh) | 标识信息处理方法及装置 | |
CN107515878B (zh) | 一种数据索引的管理方法及装置 | |
CN104182506A (zh) | 日志管理方法 | |
CN106503274A (zh) | 一种数据整合与搜索方法及服务器 | |
CN103093377B (zh) | 一种广告投放方法和*** | |
CN110928917A (zh) | 一种目标用户的确定方法、装置、计算设备及介质 | |
CN108304591A (zh) | 一种标签的定制方法、***及终端设备 | |
CN114971714A (zh) | 一种基于大数据标签的精准客户运营方法和计算机设备 | |
CN114398520A (zh) | 数据检索方法、***、装置、电子设备及存储介质 | |
CN113360500A (zh) | 数据处理方法及装置、存储介质、电子设备 | |
US11620284B2 (en) | Backend data aggregation system and method | |
CN109446167A (zh) | 一种日志数据存储、提取方法及装置 | |
CN113010542A (zh) | 业务数据处理方法、装置、计算机设备及存储介质 | |
Sun et al. | A distributed incremental information acquisition model for large-scale text data | |
CN108846002B (zh) | 标签实时更新方法及*** | |
CN116204540A (zh) | 操作日志记录方法、装置、设备及存储介质 | |
CN114741414A (zh) | 人群圈选的方法、装置、电子设备和存储介质 | |
CN110062112A (zh) | 数据处理方法、装置、设备及计算机可读存储介质 | |
CN115794804A (zh) | 基于大数据技术的工程内控数据可视化处理***及方法 | |
CN114238823A (zh) | 访问网站的方法、装置、计算机设备和存储介质 | |
CN107896246A (zh) | 基于xbrl的消息传播*** | |
CN113344604A (zh) | 一种基于用户行为数据及流计算的用户细分方法 | |
Montanari et al. | Near duplicate document detection for large information flows |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |