[发明专利]一种人群生成方法及装置有效
申请号: | 201911060192.4 | 申请日: | 2019-11-01 |
公开(公告)号: | CN110968582B | 公开(公告)日: | 2022-12-30 |
发明(设计)人: | 王志伟;谢俏;邰娟;李成;孙迁 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 张慧娟 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 人群 生成 方法 装置 | ||
本发明公开了一种人群生成方法及装置,属于大数据技术领域。方法包括:接收用于生成人群的人群ID以及对应的人群条件,并将人群ID和人群条件关联地存储到关系型数据库中;从关系型数据库中获取需要计算的多个人群条件,并将每个人群条件解析转换为分布式搜索引擎可执行的查询语句;通过分布式计算引擎启动多线程并行地对多个查询语句在分布式搜索引擎中基于索引进行数据查询,并将查询到的数据存储到Hive表中。本发明实施例在人群生成过程中能够节省计算资源,并加快人群的生成速度。
技术领域
本发明涉及大数据技术领域,尤其涉及一种人群生成方法及装置。
背景技术
在移动互联网中,通常会对用户的基本特征和行为数据进行标签化处理,并将标签作为筛选人群的条件,从而计算出符合预期的人群,即生成人群包。
目前,在人群的生成方案中,通常采用hive等离线计算引擎来进行计算,这样每次都会操作全表数据,通过创建任务的方式,对一个人群包创建一个人群计算任务,当人群包的数量越来越多的时候,将造成任务数量越来越多,计算资源需求也越来越多,从而导致计算资源浪费,并且计算时长一般都是分钟级,导致人群的生成速度较慢。
发明内容
为了解决上述背景技术中提到的技术问题,本发明提供了一种人群生成方法及装置,以在人群生成过程中节省计算资源,并加快人群的生成速度。
本发明实施例提供的具体技术方案如下:
第一方面,提供一种人群生成方法,所述方法包括:
接收用于生成人群的人群ID以及对应的人群条件,并将所述人群ID和所述人群条件关联地存储到关系型数据库中;
从所述关系型数据库中获取需要计算的多个人群条件,并将每个所述人群条件解析转换为分布式搜索引擎可执行的查询语句;
通过分布式计算引擎启动多线程并行地对多个所述查询语句在所述分布式搜索引擎中基于索引进行数据查询,并将查询到的数据存储到Hive表中。
进一步地,所述接收用于生成人群的人群ID以及对应的人群条件,并将所述人群ID和所述人群条件关联地存储到关系型数据库中,包括:
通过Spark Streaming从分布式消息队列中接收所述人群ID以及对应的人群条件;
将接收到的所述人群条件解析转换为所述分布式搜索引擎可执行的查询语句,对所述分布式搜索引擎进行查询,得到所述人群ID对应的覆盖人数;
将所述人群ID、人群条件与所述覆盖人数关联地存储到所述关系型数据库中,并根据所述覆盖人数,设置所述人群ID的计算状态。
进一步地,所述根据所述覆盖人数,设置所述人群ID的计算状态包括:
判断所述人群定义数据对应的覆盖人数是否为零值;
若是,则将所述人群ID的状态设置为计算成功状态;
若否,则将所述人群ID的状态为等待计算状态。
进一步地,所述分布式搜索引擎中预先存储有用户标签数据库以及对应的标签索引表,所述通过分布式计算引擎启动多线程并行地对多个所述查询语句在所述分布式搜索引擎中基于索引进行数据查询,包括:
针对多个所述查询语句,通过所述分布式计算引擎采用多线程的方式生成多个人群计算任务并执行;
其中,每个所述人群计算任务用于根据所述标签索引表中的与每个所述查询语句相关的标签索引值,在所述用户标签数据库中查询获得与每个所述查询语句相关的用户数据。
进一步地,所述人群条件为SQL条件,所述关系型数据库为MySQL,所述分布式计算引擎为Spark,所述分布式搜索引擎为Elasticsearch。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911060192.4/2.html,转载请声明来源钻瓜专利网。