[发明专利]一种人群生成方法及装置有效
申请号: | 201911060192.4 | 申请日: | 2019-11-01 |
公开(公告)号: | CN110968582B | 公开(公告)日: | 2022-12-30 |
发明(设计)人: | 王志伟;谢俏;邰娟;李成;孙迁 | 申请(专利权)人: | 苏宁云计算有限公司 |
主分类号: | G06F16/22 | 分类号: | G06F16/22;G06F16/2455;G06F16/28 |
代理公司: | 北京市万慧达律师事务所 11111 | 代理人: | 张慧娟 |
地址: | 210000 江苏省南*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 人群 生成 方法 装置 | ||
1.一种人群生成方法,其特征在于,所述方法包括:
接收用于生成人群的人群ID以及对应的人群条件,并将所述人群ID和所述人群条件关联地存储到关系型数据库中,其中一个人群条件用于对应生成一个人群,人群ID进行唯一标识人群条件;
从所述关系型数据库中获取需要计算的多个人群条件,并将每个所述人群条件解析转换为分布式搜索引擎可执行的查询语句;
通过分布式计算引擎启动多线程并行地对多个所述查询语句在所述分布式搜索引擎中基于索引进行数据查询,并将查询到的数据存储到Hive表中;
其中,所述接收用于生成人群的人群ID以及对应的人群条件,并将所述人群ID和所述人群条件关联地存储到关系型数据库中,包括:
通过Spark Streaming从分布式消息队列中接收所述人群ID以及对应的人群条件;
将接收到的所述人群条件解析转换为所述分布式搜索引擎可执行的查询语句,对所述分布式搜索引擎进行查询,得到所述人群ID对应的覆盖人数;
将所述人群ID、人群条件与所述覆盖人数关联地存储到所述关系型数据库中,并根据所述覆盖人数,设置所述人群ID的计算状态,其中若覆盖人数为零值,则在关系型数据库中将人群ID的状态设置为计算成功状态,否则将人群ID的状态为等待计算状态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述覆盖人数,设置所述人群ID的计算状态包括:
判断所述人群定义数据对应的覆盖人数是否为零值;
若是,则将所述人群ID的状态设置为计算成功状态;
若否,则将所述人群ID的状态为等待计算状态。
3.根据权利要求1所述的方法,其特征在于,所述分布式搜索引擎中预先存储有用户标签数据库以及对应的标签索引表,所述通过分布式计算引擎启动多线程并行地对多个所述查询语句在所述分布式搜索引擎中基于索引进行数据查询,包括:
针对多个所述查询语句,通过所述分布式计算引擎采用多线程的方式生成多个人群计算任务并执行;
其中,每个所述人群计算任务用于根据所述标签索引表中的与每个所述查询语句相关的标签索引值,在所述用户标签数据库中查询获得与每个所述查询语句相关的用户数据。
4.根据权利要求1至3任一所述的方法,其特征在于,所述人群条件为SQL条件,所述关系型数据库为MySQL,所述分布式计算引擎为Spark,所述分布式搜索引擎为Elasticsearch。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将存储在所述Hive表中的人群ID与所述关系型数据库中状态为计算中状态的人群ID进行对比,判断是否存在漏算的人群ID,若存在,则将漏算的人群ID的状态更新为等待计算状态。
6.根据权利要求1或5所述的方法,其特征在于,所述方法还包括:
在接收到数据转储指令后,将所述Hive表中存储的数据转储至所述数据转储指令所指示的服务器中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏宁云计算有限公司,未经苏宁云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911060192.4/1.html,转载请声明来源钻瓜专利网。