[发明专利]一种面向精准广告投放的时间聚合查询方法在审
申请号: | 201711338950.5 | 申请日: | 2017-12-14 |
公开(公告)号: | CN108090171A | 公开(公告)日: | 2018-05-29 |
发明(设计)人: | 曹斌;陈望远;侯晨煜;沈瑛 | 申请(专利权)人: | 浙江工业大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30;G06Q30/02 |
代理公司: | 杭州天正专利事务所有限公司 33201 | 代理人: | 王兵;黄美娟 |
地址: | 310014 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 一种面向精准广告投放的时间聚合查询方法,包括:通过获取用户的在线时间数据,接收广告主的广告时段查询请求,根据广告主的广告投放时长、用户的在线时间数据筛选出有效在线时间区间,再对有效在线时间区间中的所有时间点构建索引结构,然后对构建好的索引结构进行压缩。根据广告主的广告投放时长,结合用户在线时间数据以及所有时间点的索引结构,查询满足广告投放时长并且能够让最多的用户同时在线的最佳广告投放时段。最终实现的功能是能够利用互联网及移动互联网媒体中海量的用户在线时间数据,根据广告主提供的广告投放时间长短,准确地、灵活地确定最佳广告投放时间段,使得该广告时间段上的广告受众最大化,提高广告投放的经济效益。 | ||
搜索关键词: | 广告投放 时间数据 广告主 索引结构 时长 精准广告 时间区间 用户在线 时间点 查询 构建 聚合 广告时间段 移动互联网 投放 查询请求 广告时段 广告受众 时间段 最大化 筛选 压缩 互联网 灵活 | ||
【主权项】:
1.一种面向精准广告投放的时间聚合查询方法,包括如下步骤:步骤1.建立bitmap索引结构首先通过输入所有用户的在线区间数据和广告投放时长,给每个用户标记一个用户序号,并得到所有用户区间的开始时刻和结束时刻集合;给每个时刻分配一个bitmap,判断每一个用户的在线时间区间是否包含该时刻,如果该用户的某一在线时间区间能够覆盖该时刻,那么就把该用户的序号位置上的bit值记为true,如果不包含,则记为false;关于bitmap索引结构的详细描述如下:表1列举了索引结构构建过程中使用的符号,如下所示:符号 意义 Time 某一用户的在线区间的开始时刻或者结束时刻 Bitmap 某一时刻对应的bitmap i]]> 某一bitmap的第i个bit值 i]]> 第i个用户 i.Ij]]> 第i个用户的第j个在线时间区间 表11.1建立所有时刻集合:所有时刻集合包含了所有用户在线时间区间的I.start和I.end.并且集合中的每个时刻有且只有一个;这样可以避免在给每个时刻构建bitmap索引时,发生重复构建,造成构建索引结构效率底下的情况;1.2建立用户序号用户序号主要用来作为bitmap上每个bit的位置;某一时刻的bitmap的下标对应的bit值表示该序号位置上的用户是否存在某个在线时间区间包含这一时刻;存在则记为true,不存在则记为false;步骤2.压缩bitmap索引结构上一个步骤中构建好的bitmap索引结构存在如下缺点;(1)存储空间消耗巨大,对50000条用户在线时间记录构建bitmap索引所消耗的存储空间大概是1个G以上;(2)会拖慢接下去的查询算法的时间;查询算法中需要得到其中两个时刻的bitmap做按位与(&)操作的结果resBitMap;并取出resBitMap中bit值为true的bit位置上的用户,加入候选用户集;如果不做压缩操作,则需要对resBitMap的上万个bit做一次遍历,而这样会大大降低查询的时间效率;基于此,很有必要对步骤1中构建好的bitmap索引结构进行步骤2的压缩bitmap索引结构操作;在压缩过程中,把bitmap中的连续bit值相同的部分作为一个压缩单元,每个压缩单元由bit值和bit值的数量构成;关于压缩bitmap索引结构的详细描述如下表所示:表2列举了压缩bitmap索引结构过程中使用的符号,如下所示:符号 意义 Time 某一用户的在线区间的开始时刻或者结束时刻 CompBitmap 某一时刻对应的压缩后的bitmap i]]> CompBitmap中的第i个压缩单元 i.bit]]> 第i个压缩单元的bit值 i.count]]> 第i个压缩单元的bit值的数量 表2步骤3.查询表3列举了查询步骤中使用的符号,如下所示: 表3为了精准确定最佳广告时间段,进行以下四个步骤的操作:3.1获取候选时间区间和候选用户集合这一步中,首先对包含所有用户在线时间区间的开始时刻和终止时刻集合allTimeArray按时间顺序,从小到大进行排序Time1 、Time2 、…、Timen ;再对排好序的所有时刻sortedTimeArray进行遍历,当遍历到的时刻是某用户时间区间的开始时刻startTime时,从这个开始时刻startTime往后找到满足最小广告持续时间duration的第一个时刻afterTime;那么候选时间区间就是I=[startTime,afterTime],对这两个时刻对应的CompBitMap做压缩与操作,得到与操作的结果resBitMap;最后遍历resBitMap的每一个bit值,找到bit值为true用户,将其加入候选用户集合preUserSet;3.2过滤候选用户集合中的假用户当完成第一个步骤后,需要通过计算来判断候选用户集合preUserSet中每个用户是否有区间完全覆盖候选区间I,如果其中的某个用户没有区间能够完全覆盖候选区间I=[startTime,afterTime],那么这个用户就是假用户fakeUser,需要从候选用户集合preUserSet中把它过滤掉;这一步中的过滤方法是:首先给候选用户集合preUserSet中的每一个用户添加一个index变量,并把它初始化为0;对每一个用户的区间集合intervals,从索引号为index的区间userInterval开始,判断它是否能覆盖I.startTime,(1)若userInterval不能覆盖I.startTime,index计数加一,并判断userInterval是否整个都在I.afterTime的后面;若是,则该用户是假用户,改变User.index=index,然后结束对该用户的区间集合的遍历;若否,继续对该用户的下一个userInterval进行判断;(2)若userInterval能覆盖I.startTime,继续判断它能否覆盖I.a
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江工业大学,未经浙江工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711338950.5/,转载请声明来源钻瓜专利网。