CN102708496B - 一种自适应视频广告投放方法及装置 - Google Patents

一种自适应视频广告投放方法及装置 Download PDF

Info

Publication number
CN102708496B
CN102708496B CN201210006320.9A CN201210006320A CN102708496B CN 102708496 B CN102708496 B CN 102708496B CN 201210006320 A CN201210006320 A CN 201210006320A CN 102708496 B CN102708496 B CN 102708496B
Authority
CN
China
Prior art keywords
advertisement
adtaskset
adtasksetlist
temporary table
request
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.)
Expired - Fee Related
Application number
CN201210006320.9A
Other languages
English (en)
Other versions
CN102708496A (zh
Inventor
张云锋
姚键
张缓迅
尹玉宗
潘柏宇
卢述奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba China Co Ltd
Youku Network Technology Beijing Co Ltd
Original Assignee
1Verge Internet Technology Beijing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 1Verge Internet Technology Beijing Co Ltd filed Critical 1Verge Internet Technology Beijing Co Ltd
Priority to CN201210006320.9A priority Critical patent/CN102708496B/zh
Publication of CN102708496A publication Critical patent/CN102708496A/zh
Application granted granted Critical
Publication of CN102708496B publication Critical patent/CN102708496B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明公开了一种自适应视频广告投放方法及装置,用于解决现有视频广告投放方法不能依据实际需求实时调整广告投放个数,灵活性差,无法保证用户观看广告个数平稳地变化等技术问题。本发明将广告任务分配进程和广告匹配进程互相独立,并利用缓冲池机制,使得广告系统能够根据当前广告投放进程自动调整用户看到的前贴广告个数,整个调整过程完全由系统来实现,无需任何人工估算和对系统的人工操作,用户观看到的广告个数能够保持平稳过渡,且调整迅速、灵活、准确性高。

Description

一种自适应视频广告投放方法及装置
技术领域
本发明涉及网络视频广告投放技术领域,尤其涉及一种根据广告投放量和广告容量自适应地调整一次性反馈给用户的视频广告个数的视频广告投放方法。
背景技术
目前视频网站上的视频广告投放常常会遇到这样的问题:有时需要投放的广告(即广告商要求投放的广告总量,简称为待投放量)非常多而广告容量(即通过广告投放系统能够投放的广告总量,简称为可投放量)又不足,有时候可投放量充足,而待投放量又比较小。例如,某部电视剧近期比较热门,每天有200万次的播放量,如果在每次播放电视据前只播放一个视频前贴广告(正规视频播放前播放的一段视频广告),那么这部电视剧对应的每日广告可投放量是200万,如果使用双前贴或三前贴机制,那么这部电视剧对应的每日广告可投放量就是400万或600万。由于这部电视剧是近期的热播剧,可能会有多个广告商要求在这部电视剧中投放广告,且这些广告商要求的每日广告待投放量之和可能已经达到300万,如果使用单前贴机制,那么每天就会有100万次投放没法完成,这时如果开通双前贴机制,则不仅可以完成300万的待投放量,还能有100万次的剩余可投放量。如果后期又有新的广告商加入,要求也在这部热播剧中投放广告,导致每日要投放在这部剧中的广告次数达到580万次,那么只需开通三前贴机制即可。面对上述需求,就需要对广告投放系统做出调整,比如某段时间前贴广告的可投放量不足,就需要开通双前贴或三前贴机制,即在一段视频播放前让用户看2个或3个前贴广告。
然而在设置多前贴机制后,会由此而产生一个问题,即如果固定每次广告请求时投放的前贴个数,当广告的待投放量很少时,用户在前面一段时间内会看到大量双前贴或更多前贴广告,而过了这段时间后,由于前面投放广告过快,后面一段时间就一个广告都看不到了。例如,某分钟要求完成10万次的广告投放,如果固定了要求每次请求广告都返回2个前贴,那么可能可能在这一分钟的前若干秒内,对每次广告请求都会投出双前贴,导致10万次广告在第45秒的时候全部释放完毕,那么剩下的15秒钟里面,如果再有广告请求过来,就一个广告也投不出去了,因为这一分钟的任务已经由于前45秒的大量投放而提前完成了。一直等到下一分钟开始后,又开始一个10万次的广告投放任务,然后再有40多秒的连续双前贴投放,过了40多秒后,又一个广告都看不到了。显然,这样会严重影响用户体验。因此,如何及时调整用户一次广告请求所返回的广告个数就成了一个非常重要的问题。目前的在线视频网站一般采取下面几种方法来完成广告个数的调整:
第一种方法:最原始的方式,即直接在广告系统中固化投放的前贴个数和投放逻辑,当广告可投放量紧张时只能通过不断地系统升级来修改前贴投放个数。这种方式维护工作量大、调整速度慢、灵活性差,不能及时应对市场的需求。
另外一种方法是:在第一种方法的基础上进行改进,设置一个投放前贴广告个数的配置参数或称为“开关”,在广告投放较为密集的时期,将投放前贴广告个数参数设置为多个,非密集时期,则设置为1个,这样虽然比第一种方法灵活了一些,但其缺陷也很明显,因为需要人工去估算某段时期内的广告待投放量和可投放量之间的关系,根据人为估算结果来确定配置参数中需要设置的前贴广告个数,而人为估算难免会与实际需求出现较大偏差,甚至出现与实际需求严重不符的情况,从而影响广告投放效果和效率。
此外,通过上述两种方式,由于人为调整不能保证与实际需求的平稳过渡,容易使调整前后使用户观看到的广告个数出现较大起伏,从而影响用户体验。
发明内容
有鉴于此,本发明的主要目的在于提供一种自适应的视频广告投放方法,用于解决现有视频广告投放方法不能依据实际需求实时调整广告投放个数,灵活性差,无法保证用户观看广告个数平稳地变化等技术问题。
为达到上述目的,本发明的技术方案是这样实现的:
一种自适应视频广告投放方法,该方法包括:
按预设的周期T获取当前周期T内需要投放的广告投放任务,生成广告投放任务集合AdTaskSet,并将生成的AdTaskSet添加到广告任务集合列表AdTaskSetList中;
在接收到广告请求时,逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的广告,并将匹配所得的广告一次性返回给广告请求方;
检查AdTaskSetList中的广告投放完成情况,当某个AdTaskSet中的广告已经全部投放完毕时,从AdTaskSetList中移除该AdTaskSet。
进一步地,根据系统预设的一次广告请求最多允许投放的广告个数设定AdTaskSetList的中AdTaskSet的最大个数n,当AdTaskSetList列表中AdTaskSet个数达到上限值n时,需要在插入新生成的AdTaskSet之前,删除列表末尾的AdTaskSet。
进一步地,所述逐一在AdTaskSetList的每个AdTaskSet中匹配符合投放条件的广告时,在每个AdTaskSet中最多只取一个广告,匹配的过程具体为:
建立一个临时列表,在对每个AdTaskSet进行匹配时,将所述临时列表作为参数传入匹配函数,在获得一个符合条件的广告时,首先将其与临时列表中已获得的广告进行比较,如果临时列表中已经存在相同的广告,则继续匹配其它符合条件的广告,在每个AdTaskSet中最多只取一个广告;如果临时列表中不包含相同的广告,则将该广告添加到所述临时列表中,然后执行下一个AdTaskSet的匹配;在匹配完所有的AdTaskSct后所得的临时列表即包含了所有要向广告请求方反馈的广告。
进一步地,所述AdTaskSet由广告投放条件树CondTree和广告实体映射表AdEntityMap两部分组成;所述CondTree用于存储广告投放条件,AdEntityMap用于存放待投放广告的具体属性;
所述在AdTaskSet中匹配符合条件的广告时,基于CondTree所反映的广告投放条件树从AdTaskSet中查找满足广告请求的广告。
进一步地,通过独立进程广告任务集合生成模块AdTaskAssigner来实现AdTaskSet的生成、AdTaskSetList中广告投放完成情况的检查;所述AdTaskAssigner作为独立的进程在系统后台运行,每间隔一个生成周期T自动运行一次;
通过另一独立进程广告匹配引擎AdMatcher来实现广告请求的接收、广告匹配及反馈。
本发明还提供一种自适应视频广告投放装置,该装置包括:
广告任务集合生成模块AdTaskAssigner,用于按预设的周期T获取当前周期T内需要投放的广告投放任务,生成广告投放任务集合AdTaskSet,并将生成的AdTaskSet添加到广告任务集合列表AdTaskSetList中;该模块还用于检查AdTaskSetList中的广告投放完成情况,当某个AdTaskSet中的广告已经全部投放完毕时,从AdTaskSetList中移除该AdTaskSet;
广告任务集合列表模块AdTaskSetList,用于存放当前正在投放的广告任务集合;
广告匹配引擎AdMatcher,用于根据视频播放器发来的广告请求,逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的视频广告,并将匹配获得的广告一次性返回给广告请求方。
进一步地,所述AdTaskSetList中AdTaskSet的最大个数n根据系统预设的一次广告请求最多允许投放的广告个数设定;所述AdTaskAssigner还用于在插入AdTaskSet时判断所述AdTaskSetList的AdTaskSet个数是否达到最大值n,当达到时,则需在插入新生成的AdTaskSet之前删除列表末尾的AdTaskSet。
进一步地,所述AdMatcher逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的广告时,首先建立一个临时列表,在对每个AdTaskSet进行匹配时,将所述临时列表作为参数传入匹配函数,在获得一个符合条件的广告时,首先将其与临时列表中已获得的广告进行比较,如果临时列表中已经存在相同的广告,则继续匹配其它符合条件的广告,在每个AdTaskSet中最多只取一个广告;如果临时列表中不包含相同的广告,则将该广告添加到所述临时列表中,然后执行下一个AdTaskSet的匹配;在匹配完所有的AdTaskSet后,将所述临时列表反馈给广告请求方。
进一步地,所述AdTaskSet由广告投放条件树CondTree和广告实体映射表AdEntityMap两部分组成;所述CondTree用于存储广告投放条件,AdEntityMap用于存放待投放广告的具体属性;所述AdMatcher基于CondTree所反映的广告投放条件树从AdTaskSet中查找满足广告请求的广告。
进一步地,所述AdTaskAssigner和AdMatcher为两个相互独立的进程,所述AdTaskAssigner作为独立的进程在系统后台运行,每间隔一个生成周期T自动运行一次。
本发明将广告任务分配进程和广告匹配进程互相独立,并利用缓冲池机制,使得广告系统能够根据当前广告投放进程自动调整用户看到的前贴广告个数,整个调整过程完全由系统来实现,无需任何人工估算和对系统的人工操作,用户观看到的广告个数保持平稳,且调整迅速、灵活、准确性高。
附图说明
图1为本发明实施例提供的自适应的视频广告投放方法实现原理图;
图2为本发明实施例提供的CondTree的结构示意图;
图3为本发明实施例提供的AdEntity的结构示意图;
图4为本发明实施例提供的AdTaskAssigner实现广告任务分配的示意图;
图5为现有技术的视频广告投放方法的投放效果示意图;
图6为本发明实施例提供的视频广告投放方法的投放效果示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下举实施例并参照附图,对本发明进一步详细说明。
图1为本发明实施例提供的用于实现本发明提出的自适应的视频广告投放方法的系统结构原理图,该系统主要包括:自适应的视频广告投放装置、广告数据库AdDatabase、视频播放器VideoPlayer;自适应的视频广告投放装置进一步包括:广告任务集合生成模块AdTaskAssigner、广告任务集合列表模块AdTaskSetList、广告匹配引擎AdMatcher。
广告数据库AdDatabase:用于存放广告投放任务信息,以及广告属性;
所述的视频广告投放任务信息指依据广告商的要求定制的广告投放时间、广告投放量、广告投放条件、待投放的广告标识等信息;所述的广告属性指广告本身的一些信息,例如:广告标识、广告素材存放的URL、广告素材的播放时长、曝光监测地址、点击跳转地址等;
广告任务集合列表模块AdTaskSetList:用于存放当前正在投放的广告任务集合;
本发明优选实施例中,配置有一个广告任务集合生成周期参数T,用于控制由AdTaskAssigner生成广告任务集合的时间间隔;例如,当广告任务集合生成周期T设置为1分钟时,AdTaskSet1表示当前这一分钟的广告投放任务集合,后面的AdTaskSeti(i=2,3,...n)依次表示i-1分钟前未完成的广告投放任务集合。
广告任务集合生成模块AdTaskAssigner:用于周期性地从广告数据库获取当前广告任务集合生成周期内需要投放的广告投放任务,生成广告投放任务集合,并将所生成的广告投放任务集合添加到AdTaskSetList的列表中;以及负责从AdTaskSetList的列表中删除已经投放完毕的AdTaskSet;
优选地,AdTaskAssigner设计为一个定时任务,系统启动后将其作为独立的进程在系统后台运行,每间隔一个生成周期T自动运行一次。
AdTaskAssigner的任务之一是:定时从AdDatabase中取得当前广告任务集合生成周期T内的所有广告投放任务,将这一批任务组织成为一个广告任务集合即一个AdTaskSet,再将生成的AdTaskSet插入到AdTaskSetList的最前端,原来AdTaskSetList列表中的AdTaskSet则依次后移。
优选地,为了防止在广告可投放量严重不足的情况下,让用户看到过多的广告,可预先设置AdTaskSetList中AdTaskSet的最大个数n,即设定一次广告请求最多允许投放的广告个数,当列表中元素个数达到系统设置的上限值n后,如果继续在前面插入AdTaskSet,则列表末尾的元素会被自动丢弃。
AdTaskAssigner的任务之二是:检查AdTaskSetList中的广告投放完成情况,如果某个AdTaskSet中的广告已经全部投放完毕,则该AdTaskSet就会被从AdTaskSetList中移除;
广告匹配引擎AdMatcher:用于根据视频播放器VideoPlayer发来的广告请求,逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的视频广告,并将匹配获得的广告一次性返回给VideoPlayer;
优选地,从AdTaskSetList中获取广告的方法可以为:依次从各个AdTaskSet中查找广告,每个AdTaskSet中最多只取一个广告,且返回的多个广告不允许相同,即不能连续2次重复播放同一个广告。
视频播放器VideoPlayer:用于向AdMatcher发送广告请求,接收AdMatcher返回的广告,依次向用户播放广告内容;
本发明不限定视频播放器的类型以及视频广告的格式类型,当用户打开某个视频播放页观看视频前,VideoPlayer会自动向AdMatcher发送广告请求,得到AdMatcher的返回的广告后,依次向用户播放广告内容。
基于图1所示的实现自适应的视频广告投放方法的系统,从VideoPlayer发起广告请求到获得反馈结果的过程如下:
步骤1、VideoPlayer向AdMather发送广告请求;
所述广告请求中应当包含当前视频的id、视频所属的分类和二级分类、当前浏览用户的ip和cookie、关键字等信息。
步骤2、AdMatcher从AdTaskSetList中的第一个AdTaskSet开始到最后一个AdTaskSet,依次判断每个AdTaskSet中是否有满足本次广告请求的广告,如果有则AdMatcher从对应的AdTaskSet中获取一个满足条件的广告,最后形成一个广告反馈列表,将广告反馈列表返回给播放器进行播放;
优选地,针对一次广告请求,在开始匹配时AdMatcher都会新建一个临时列表,AdMatcher到每一个AdTaskSet中查找广告,都会把找到的符合投放条件的广告放到这个列表中,当开始对下一个AdTaskSet进行查找时,会将这个临时列表作为参数传入查找函数,AdMatchcr在AdTaskSet的CondTree树中遍历时,每找到一个广告后,都会拿这个广告和临时列表中已经取得的所有广告进行比对,如果临时列表中已经包括了当前广告,则AdMatcher不会添加这个广告,而是继续在当前AdTaskSet中查找其它满足条件的广告,直到找到合适的广告,才将这个广告添加到上述临时列表中,如果遍历完整个CondTree都没找到,则不必向上述临时列表中添加广告。在查找完所有的AdTaskSet后,AdMatcher将所述临时列表做为广告反馈列表返回给播放器。
例如:AdMatcher从AdTaskSetList中的AdTaskSet1中查找可满足本次请求的广告,若AdTaskSet1中有符合广告请求所给定条件的广告,则AdMatcher从AdTaskSet 1中取得一个广告,作为第一前贴广告;然后AdMatcher依次从AdTaskSetList中的AdTaskSet2、AdTaskSet3、...、AdTaskSetn中查找可满足本次请求的广告,若对应的AdTaskSet中有符合广告请求所给定条件的广告,则AdMatcher从对应的AdTaskSet中取得第二个、第三个、...、第n个广告,作为第二前贴广告、第三前贴广告、...、第n前贴广告。最后,AdMatcher将前面找到的所有可投放的前贴广告组合起来(总个数可能会小于n),一次性返回给播放器进行播放。
步骤3、VideoPlayer接收到AdMatcher反馈的前贴广告播放列表后,按顺序依次播放列表中的广告。
可以看出,AdTaskSetList所起的作用为AdTaskAssigner和AdMatcher之间的一个缓冲池。当广告待投放量大、可投放量不足的时候,当前周期T的投放任务集合AdTaskSet1就无法完成,等到下一周期T后,随着新的AdTaskSet的插入,老的AdTaskSet1就成为AdTaskSet2,AdTaskSetList中的AdTaskSet个数就会自动增加,用户看到的前贴广告个数也随之自动增加;反之,当广告待投放量变小后,AdTaskSetList中的AdTaskSet个数就会自动减少,用户看到的前贴广告个数也随之自动减少。用户如果看到多个广告,那么他看到的第一个广告可能来自于当前周期T内的投放任务,第二个广告可能来自于之前的某个周期T内未投放完成的任务,其余可依次类推。用户看到的前贴广告个数n的取值范围为:n∈[0,N],其中N为AdTaskSetList中的AdTaskSet最大个数,对AdTaskSetList中的AdTaskSet个数进行限制是为了避免广告可投放容量严重不足时,AdTaskSetList中的AdTaskSet个数无限制增长,导致用户没完没了地看广告。
通过上述方法实现了广告个数根据当前投放进度自动调整,无需人工进行干预。
以下结合附图对本发明一优选实施例提供的AdTaskSet的组成结构进行详细说明:
AdTaskSet为广告投放系统在设定周期T内生成的广告投放任务的集合,它由AdTaskAssigner根据AdDatabase中的广告数据定时创建。AdTaskSet由CondTree(广告投放条件树)和AdEntityMap(广告实体映射表,为HashMap类型)两部分组成,图2为CondTree的结构示意图,CondTree是一个用于存储广告投放条件的树型数据结构,AdMatcher正是基于CondTree所反映的广告投放条件树从AdTaskSet中查找可满足广告请求的广告的。
CondTree树形结构的描述如下:
(1)根节点c0为AdMatcher进行广告匹配时的初始访问节点;
(2)每个叶子节点,例如c21、c22、c23下的子节点,为一个待投放的广告ID的列表,一个列表中的所有广告ID具有相同的投放条件;
(3)根与叶子之间的中间层的节点,如c11、c21、c12、c25等,对应于不同维度的广告投放条件,中间层的层数等于广告投放条件的维度,层次越高表示这个维度的权重越高,投放的优先级越高;在同一个层次内部,越靠左边的节点权重越高,投放优先级越高。投放条件的维度,可以解释为投放条件的分类,比如第一维度为客户级别维度,客户的级别不同,他们的广告投放的先后顺序也不同;第二维度为广告定向投放的方式:如视频组定向、分类定向、关键字定向等,如视频组定投的广告要优先于分类定投的广告。
AdEntityMap用于存放待投放的广告的具体属性,其通过广告ID与叶子节点中广告ID列表中的广告ID对应,其结构用Java语言可定义为:HashMap<Integer,AdEntity>,HashMap中的key是整形数,表示广告ID,value是广告实体AdEntity类型的对象,用于表示一个广告的具体属性。AdEntity对象的结构如图3所示,其中“广告ID”是一个广告的唯一标识,它与图2中的CondTree树中叶子节点中的ID相对应;当前周期内剩余投放次数”为广告当前周期要投放的总次数减去当前周期内已经完成的投放次数之差。一个AdEntity被创建并初始化的时候,其“当前周期内剩余投放次数”和“广告当前周期要投放的总次数”相等,每完成一次投放,则“当前周期内剩余投放次数”自动减一,当前周期应投放的总次数则由AdTaskAssigner在相应的AdTaskSet生成周期T执行时计算出来。首先,假设AdTaskSet生成周期T为1分钟,一个小时之内的每分钟广告可投放量是均匀分布的,下面的公式可计算出一个广告在当前分钟应投放的次数:
Ti=(S-Sok)*rate[i])/60/SN。
其中,Ti表示广告在当前小时每分钟要投放的次数;S表示广告预设的要投放的总次数;Sok表示当日已经投放完毕的总次数,该数据由广告系统根据相关日志汇总而来;rate[i]表示当前小时的广告可投放量占剩余的要投放广告的全部小时的广告可投放量的比例;SN表示用于广告投放的服务器数量,次数会被均分到每台服务器上。
rate[i]=r[i]/(r[i ]+r[i+1]+r[i+2]+...+r[m])
其中r是一个常量数组,存放的是一天24个小时中每小时的广告容量的比例,r[i]表示第i小时的比值,m表示广告投放结束的小时。r数组具体值如下:{530,352,263,207,168,144,125,132,211,303,443,461,537,617,671,694,681,627,610,480,500,500,450,300}
其中各个数字的大小反映出其所对应小时的广告可投放量大小,一般来说每天各个小时之间的广告可投放容量比值是相对固定的,所以此处是一组常数。
以下结合附图4对本发明如何通过AdTaskAssigner来实现广告投放任务的定时分配进行详细说明,具体步骤如下:
步骤401、在当前定时周期T到时,创建一个只含根节点的CondTree;
步骤402、从数据库取出待投放的广告列表adList;
步骤403、根据CondTree定义的规则依次将广告列表adList中的广告ID加入到CondTree中,完成CondTree的构造;
步骤404、将adList中的所有广告属性封装成AdEntity,并将AdEntity装入AdEntityMap中;
步骤405、将CondTree和AdEntityMap封装为一个AdTaskSet;
步骤406、将AdTaskSetList中的元素顺次向右平移一位,如果末尾元素超出最大长度,则丢弃末尾元素;
步骤407、将新创建的AdTaskSet加入到AdTaskSetList的最前端;
通过上述描述可知,本发明中AdTaskAssigner的广告任务分配进程和AdMatcher的广告匹配进程互相独立,这种异步并行的工作模式提高了广告的投放效率。
以下以实际应用中的实例来说明本发明提供的自适应的视频广告投放方法的实现过程,该实施例中,某视频网站的前贴广告投放要求为:
(1)最多允许前贴广告个数为:5个;
(2)广告客户根据重要性划分为1~7共7个等级,数字越小级别越高,越优先投放;
(3)定向投放条件包括:视频组定投、用户定投、城市定投、关键字定投、分类定投等。
首先,需要在后台设置一次广告请求最多允许投放的广告个数,即广告缓冲池AdTaskSetList的容量,然后,设置要投放的广告相关属性,包括AdEntity中的相关属性,以及所使用的定向投放方式和内容,比如定投方式为:分类定投,定投内容为:电视剧分类。
开始广告投放后,AdTaskAssigner按周期T定时产生新的投放任务AdTaskSet,并将所生成的AdTaskSet插入到AdTaskSetList中,AdTaskSetList相当于一个缓冲池,其中的AdTaskSet个数会随着当前广告投放任务的完成进度而不断波动,理论波动区间为[0,5],而其实际波动曲线类似于图6中的情况,用户看到的前贴广告个数总是以1为步长,均匀变化的,如:2->2->3->2->3,而不会出现跳跃,如:1->3->0->2->0。
某用户打开某个内嵌VideoPlayer的视频播放页播放视频时,触发一次前贴广告请求,然后AdMatcher接受到该请求,到缓冲池AdTaskSetList中查找广告,此时AdTaskSetList中有2个AdTaskSet,分别表示当前分钟的投放任务集合,和上一分钟未投放完成的任务集合。AdMatcher先到AdTaskSet1中查找第一前贴广告,找到一个广告A1,然后再到AdTaskSet2中查找第二前贴,找到一个广告A2,最后将A1和A2的内容按照与播放器之间的协议格式返回,然后播放器根据得到的内容依次播放广告A1和A2。
为了说明本发明效果,以图5和图6对照说明采用现有技术中人工调整方法和本发明提供的自适应的视频广告投放方法在广告投放效果上的区别,两个附图的横坐标都为用户请求广告的次数序号,纵坐标都为本次请求返回的广告个数。图5中,由于人工无法准确预估需要投放的前贴数,只能不断进行人工调整前贴个数,从而导致用户观看到的广告个数波动非常剧烈,比如第7次广告请求时,看到了3个广告,第8、9次只看到1个,而第10次又一下看到4个,继而增加到5个之多,用户体验非常糟糕。图6的广告个数则波动非常平稳,两个相邻的广告请求之间返回的广告个数差值不超过1,用户看到的广告个数一直维持在2到3之间,基本处于可以用户可以接受的范围内。可见通过该本发明提供的方法,用户看到的广告个数能够比较平稳地波动,原因就在于本发明采用AdTaskSetList作为缓冲池,当某分钟出现广告容量不足的时候,下一分钟AdTaskSetList中的AdTaskSet个数就会增加一个,那么前贴广告个数也会立即增加上去,而不是等到人工检查出容量不足后,再去匆忙调整前贴广告个数。当投放的前贴个数增加之后,AdTaskSetList中原来积压的AdTaskSet也会更快地消耗掉,那么前贴个数又会自动减少,正是由于有了这个缓冲池,广告系统就能够非常灵敏地感知当前容量是否足够,迅速作出增加或减少前贴个数的调整。相比人工调整的方式来说,本发明大大提高了用户体验。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (8)

1.一种自适应视频广告投放方法,其特征在于,该方法包括:
按预设的周期T获取当前周期T内需要投放的广告投放任务,生成广告投放任务集合AdTaskSet,并将生成的AdTaskSet添加到广告任务集合列表AdTaskSetList中;
在接收到广告请求时,逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的广告,并将匹配所得的广告一次性返回给广告请求方;
检查AdTaskSetList中的广告投放完成情况,当某个AdTaskSet中的广告已经全部投放完毕时,从AdTaskSetList中移除该AdTaskSet,所述逐一在AdTaskSetList的每个AdTaskSet中匹配符合投放条件的广告时,在每个AdTaskSet中最多只取一个广告,匹配的过程具体为:
建立一个临时列表,在对每个AdTaskSet进行匹配时,将所述临时列表作为参数传入匹配函数,在获得一个符合条件的广告时,首先将其与临时列表中已获得的广告进行比较,如果临时列表中已经存在相同的广告,则继续匹配其它符合条件的广告,在每个AdTaskSet中最多只取一个广告;如果临时列表中不包含相同的广告,则将该广告添加到所述临时列表中,然后执行下一个AdTaskSet的匹配;在匹配完所有的AdTaskSet后所得的临时列表即包含了所有要向广告请求方反馈的广告。
2.根据权利要求1所述的方法,其特征在于,根据系统预设的一次广告请求最多允许投放的广告个数设定AdTaskSetList中的AdTaskSet的最大个数n,当AdTaskSetList列表中AdTaskSet个数达到上限值n时,需要在插入新生成的AdTaskSet之前,删除列表末尾的AdTaskSet。
3.根据权利要求1所述的方法,其特征在于,所述AdTaskSet由广告投放条件树CondTree和广告实体映射表AdEntityMap两部分组成;所述CondTree用于存储广告投放条件,AdEntityMap用于存放待投放广告的具体属性;
所述在AdTaskSet中匹配符合条件的广告时,基于CondTree所反映的广告投放条件树从AdTaskSet中查找满足广告请求的广告。
4.根据权利要求1所述的方法,其特征在于,
通过独立进程广告任务集合生成模块AdTaskAssigner来实现AdTaskSet的生成、AdTaskSetList中广告投放完成情况的检查;所述AdTaskAssigner作为独立的进程在系统后台运行,每间隔一个生成周期T自动运行一次;
通过另一独立进程广告匹配引擎AdMatcher来实现广告请求的接收、广告匹配及反馈。
5.一种自适应视频广告投放装置,其特征在于,该装置包括:
广告任务集合生成模块AdTaskAssigner,用于按预设的周期T获取当前周期T内需要投放的广告投放任务,生成广告投放任务集合AdTaskSet,并将生成的AdTaskSet添加到广告任务集合列表AdTaskSetList中;该模块还用于检查AdTaskSetList中的广告投放完成情况,当某个AdTaskSet中的广告已经全部投放完毕时,从AdTaskSetList中移除该AdTaskSet;
广告任务集合列表模块AdTaskSetList,用于存放当前正在投放的广告任务集合;
广告匹配引擎AdMatcher,用于根据视频播放器发来的广告请求,逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的视频广告,并将匹配获得的广告一次性返回给广告请求方,所述AdMatcher逐一在AdTaskSetList的每个AdTaskSet中匹配符合条件的广告时,首先建立一个临时列表,在对每个AdTaskSet进行匹配时,将所述临时列表作为参数传入匹配函数,在获得一个符合条件的广告时,首先将其与临时列表中已获得的广告进行比较,如果临时列表中已经存在相同的广告,则继续匹配其它符合条件的广告,在每个AdTaskSet中最多只取一个广告;如果临时列表中不包含相同的广告,则将该广告添加到所述临时列表中,然后执行下一个AdTaskSet的匹配;在匹配完所有的AdTaskSet后,将所述临时列表反馈给广告请求方。
6.根据权利要求5所述的装置,其特征在于,所述AdTaskSetList中AdTaskSet的最大个数n根据系统预设的一次广告请求最多允许投放的广告个数设定;
所述AdTaskAssigner还用于在插入AdTaskSet时判断所述AdTaskSetList的AdTaskSet个数是否达到最大值n,当达到时,则需在插入新生成的AdTaskSet之前删除列表末尾的AdTaskSet。
7.根据权利要求5所述的装置,其特征在于,所述AdTaskSet由广告投放条件树CondTree和广告实体映射表AdEntityMap两部分组成;所述CondTree用于存储广告投放条件,AdEntityMap用于存放待投放广告的具体属性;
所述AdMatcher基于CondTree所反映的广告投放条件树从AdTaskSet中查找满足广告请求的广告。
8.根据权利要求5所述的装置,其特征在于,
所述AdTaskAssigner和AdMatcher为两个相互独立的进程,所述AdTaskAssigner作为独立的进程在系统后台运行,每间隔一个生成周期T自动运行一次。
CN201210006320.9A 2012-01-09 2012-01-09 一种自适应视频广告投放方法及装置 Expired - Fee Related CN102708496B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210006320.9A CN102708496B (zh) 2012-01-09 2012-01-09 一种自适应视频广告投放方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210006320.9A CN102708496B (zh) 2012-01-09 2012-01-09 一种自适应视频广告投放方法及装置

Publications (2)

Publication Number Publication Date
CN102708496A CN102708496A (zh) 2012-10-03
CN102708496B true CN102708496B (zh) 2015-05-20

Family

ID=46901226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210006320.9A Expired - Fee Related CN102708496B (zh) 2012-01-09 2012-01-09 一种自适应视频广告投放方法及装置

Country Status (1)

Country Link
CN (1) CN102708496B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079612B (zh) * 2013-03-29 2017-06-30 腾讯科技(深圳)有限公司 广告播放方法及服务器
CN103678679B (zh) * 2013-12-25 2017-10-10 北京奇虎科技有限公司 一种用于网站信息的投放方法和装置
CN104883336B (zh) * 2014-02-27 2019-04-19 腾讯科技(深圳)有限公司 一种控制媒体数据匀速投放的方法和装置
CN105516067B (zh) * 2014-09-26 2020-07-14 腾讯科技(北京)有限公司 多媒体信息播放时长的动态调整方法、客户端及服务器
CN104462341B (zh) * 2014-12-04 2017-11-21 北京国双科技有限公司 网络实体的提交方法及装置
CN104750783B (zh) * 2015-03-06 2018-03-09 合一信息技术(北京)有限公司 一种广告投放方法
CN104778608A (zh) * 2015-04-13 2015-07-15 合一信息技术(北京)有限公司 一种n+广告投放优化方法
CN105491410B (zh) * 2015-12-09 2018-10-23 优酷网络技术(北京)有限公司 一种网络视频广告投放的分配方法及系统
CN105376592B (zh) * 2015-12-21 2019-02-12 优酷网络技术(北京)有限公司 一种基于频次控制的广告素材轮播方法
CN105915961B (zh) * 2016-05-31 2019-11-29 无锡天脉聚源传媒科技有限公司 一种相近节目的推荐方法及装置
CN108123972B (zh) * 2016-11-28 2020-12-11 腾讯科技(北京)有限公司 多媒体文件的分配方法及装置
CN106709765A (zh) * 2017-01-11 2017-05-24 北京图知天下科技有限责任公司 一种广告投放管理方法
CN107833077B (zh) * 2017-11-29 2021-10-15 努比亚技术有限公司 广告插入方法及移动终端
CN110460884B (zh) * 2018-05-07 2022-01-25 北京明略昭辉科技有限公司 广告投放的监测方法和装置
WO2022141456A1 (zh) * 2020-12-31 2022-07-07 百果园技术(新加坡)有限公司 一种广告投放分配方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889679A (zh) * 2006-06-06 2007-01-03 西特斯(上海)信息技术有限公司 一种流媒体视频广告投放方法
CN101593331A (zh) * 2008-05-31 2009-12-02 华为技术有限公司 一种广告内容的选择方法、系统和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1889679A (zh) * 2006-06-06 2007-01-03 西特斯(上海)信息技术有限公司 一种流媒体视频广告投放方法
CN101593331A (zh) * 2008-05-31 2009-12-02 华为技术有限公司 一种广告内容的选择方法、系统和装置

Also Published As

Publication number Publication date
CN102708496A (zh) 2012-10-03

Similar Documents

Publication Publication Date Title
CN102708496B (zh) 一种自适应视频广告投放方法及装置
CN102281474B (zh) 一种网络直播及录制方法
CN102333106B (zh) 一种p2p系统资源调度方法及其装置和系统
CN102307218B (zh) 多媒体电话p2p点播的流媒体数据请求传输方法
CN109565620A (zh) 低延迟http实时流传输
CN102665118B (zh) 一种控制网络视频广告投放频次及优先级的方法及其系统
CN106658054B (zh) 一种视频广告请求链路优化方法和装置
CN106055666A (zh) 媒体文件的投放方法和装置
CN112866731B (zh) 一种直播互动管理方法、系统、设备及存储介质
CN100553331C (zh) 基于p2p技术的视频网络中的内容分发与存储系统及其方法
CN102710966A (zh) 基于http协议的视频直播方法及系统
CN103188232A (zh) 广告插播系统
EP2158547A1 (en) Push-caching scheme for a late-binding advertisement architecture
CN106131616A (zh) 一种投放广告的方法及装置
CN108776909B (zh) 一种电子券衍生增值服务的管理系统和方法
CN103795755B (zh) 流媒体发送速率控制方法、系统和流媒体服务器
CN107220860A (zh) 广告排期方法
CN107169785A (zh) 一种广告投放方法及装置
CN104751351A (zh) 一种轮播广告控制的方法
CN110148021A (zh) 广告投放出价方法及系统
CN102892041A (zh) 一种应用于移动设备的视频流缓冲优化方法及系统
CN103442298A (zh) 云架构环境下的视频点播异步交互方法
CN103248921B (zh) 广告播放方法、装置及系统
CN109151492A (zh) 一种直播视频的快速启动方法及装置
CN113242445A (zh) 一种商业短视频制作流程推送媒体素材库方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee after: Youku network technology (Beijing) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: 1VERGE INTERNET TECHNOLOGY (BEIJING) Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200319

Address after: 310006 room 508, floor 5, building 4, No. 699, Wangshang Road, Changhe street, Binjiang District, Hangzhou City, Zhejiang Province

Patentee after: Alibaba (China) Co.,Ltd.

Address before: 100080 Beijing Haidian District city Haidian street A Sinosteel International Plaza No. 8 block 5 layer A, C

Patentee before: Youku network technology (Beijing) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150520

Termination date: 20210109