[发明专利]一种面向高突发性用户请求的频道推荐方法有效
申请号: | 201810125606.6 | 申请日: | 2018-02-08 |
公开(公告)号: | CN108419088B | 公开(公告)日: | 2020-06-19 |
发明(设计)人: | 杨灿;管宇男 | 申请(专利权)人: | 华南理工大学 |
主分类号: | H04N21/2187 | 分类号: | H04N21/2187;H04N21/25;H04N21/258;H04N21/442;H04N21/466 |
代理公司: | 广州市华学知识产权代理有限公司 44245 | 代理人: | 李斌 |
地址: | 510640 广*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 突发性 用户 请求 频道 推荐 方法 | ||
1.一种面向高突发性用户请求的频道推荐方法,其特征在于,所述方法包括以下步骤:
S1、获取系统基础数据,包括用户观看历史记录;
通过用户观看历史记录能够得到用户曾经的切换记录、观看记录时长平均值和标准差、每个频道的每日最高在线人数,所述系统基础数据能够从系统日志文件中得到;
S2、用户开启系统时,创建推荐列表和备选列表,并在用户观看过程中实时统计用户观看实时数据;
所述推荐列表是指系统已确定向用户推荐的频道,采用一个包含N个元素的数组进行存储,其中N为正整数;备选列表是指等待被决定是否要进入推荐列表的频道,采用一个单向队列结构进行存储,其处理顺序按照进入备选列表的时间顺序依次处理,备选列表内的频道个数不做限制,最大为系统所有频道总数;在用户观看过程中,实时统计用户观看实时数据,具体包括当前系统中的热门频道、每个频道的观看人数和用户实时切换记录;
S3、启动频道推荐方法中的被动监听模式,选择满足条件的频道进入推荐列表和备选列表;
所述被动监听模式从用户打开整个系统到关闭为止,持续对系统内全部频道实时的频道活跃度进行监听,捕捉到满足条件的频道便马上更新备选列表和推荐列表,系统内未进入推荐列表和备选列表的剩余频道,称为剩余频道,设定一个活跃度阈值η,作为剩余频道是否能够进入备选列表的标准,每进入一个单位时间,执行以下步骤:
3.1)进入单位时间k,计算剩余频道的活跃度,当存在频道D的活跃度CrD≥η时,则将频道D加入备选列表的队尾;
3.2)对备选列表内的每个频道依次执行以下步骤,用以判断某个频道是否能够进入推荐列表,规则和步骤如下:
3.2.1)若推荐列表未满,补充推荐列表,备选列表内的队头频道D0出队,存入推荐列表;
3.2.2)若推荐列表已满,更新推荐列表,备选列表内的队头频道D0的活跃度为求得推荐列表中的频道Dmin的活跃度最小,为Crmin,判断Crmin和的大小;备选列表的频道D0出队,将频道存入推荐列表中Dmin的位置,将存入备选列表队尾;
其中,步骤3.2)对一个频道的判断为原子操作,需完整执行,不能够中断;若新的单位时间到来时,上一个单位时间的以上步骤仍未执行完,若当前处于一次原子操作中,则在执行完本次原子操作后,终止当前单位时间的计算,保存当前已有的结果,开始新的单位时间的计算;若当前并未处于一次原子操作中,则直接终止当前单位时间的计算,保存当前已有的结果,开始新的单位时间的计算;
S4、当进入主动拉取模式的启动触发时间区间时,启动主动拉取模式,更新和填充推荐列表;
所述主动拉取模式是指,每当主动拉取模式的启动触发时间到来时,按照主动拉取模式的策略对未满的推荐列表进行更新和补充:
在用户观看频道过程中,主动拉取模式会周期性启动,所述主动拉取模式的启动时间,即拉取启动时间,以用户切换进入新的频道为开始,每经过一个启动周期T,即每次到{n*T|n∈N*}时刻便启动主动拉取模式,主动拉取模式的启动触发时间到来,执行以下主动拉取模式策略,具体步骤如下:
4.1)判断此时是否在执行步骤S3,若正在执行步骤S3,则等待步骤S3执行完毕;
4.2)计算当前推荐列表和备选列表中所有频道的活跃度Cr,删除活跃度低于阈值η的频道;
4.3)判断推荐列表是否已满,若推荐列表未满,按以下频道选择策略补充推荐列表,直到推荐列表已满:
定义函数Sw(ss,ds,ts)表示用户的切换行为,其中,ss表示切换时的原频道,ds表示切换时的目标频道,ts表示切换行为发生的时刻,Sw(ss,ds,ts)表示在ts时刻由频道ss切换到频道ds的切换行为;
Ⅰ、历史此时切换:用户在过去若干天内的同一时刻是否有切换记录,步骤S1中由用户观看记录能够得到切换记录:查找用户i在过去若干天内的目标时间段内是否有切换行为Sw(ss,ds,ts),将目标时间段内查找到的频道ds加入推荐列表;根据用户i观看记录时长平均值μi,目标时间段为当前时刻t0加减平均观看时长μi,即ts∈[t0-μi,t0+μi];
Ⅱ、历史此时观看:用户在过去若干天内的同一时刻是否有观看记录:在用户观看记录中查找用户i在过去若干天内的目标时间段内是否存在观看行为,将目标时间段内查找到的频道d加入推荐列表;根据用户i观看记录时长平均值μi,目标时间段为当前时刻t0加减平均观看时长μi,即ts∈[t0-μi,t0+μi];
Ⅲ、热门频道:当前系统中观看人数最多的频道,按照观看热度由高到低地加入推荐列表;
S5、用户完成频道切换之后,更新用户观看历史记录数据,并判断是否更新推荐列表和备选列表;具体过程为:当用户发生频道选择行为时,判断该频道切换行为Sw(ss,ds,ts)中原频道ss和目标频道ds是否相同:若ss=ds,则该频道选择不认定为频道切换,不对推荐列表和备选列表进行操作;若ss≠ds,则该频道选择行为认定为频道切换,清空推荐列表和备选列表,将上一个频道完整的观看记录存入系统的日志文件中。
2.根据权利要求1所述的一种面向高突发性用户请求的频道推荐方法,其特征在于,步骤S3中,所述频道活跃度的计算方法如下:
定义函数S(s,d,t)表示发生某一种切换行为的用户总数,其中,s表示切换时的原频道,d表示切换时的目标频道,t表示切换行为发生的时刻,S(s,d,t)表示在t时刻由频道s切换到频道d的用户总数,计算方法如下:
S(s,d,t)=sum{Sw(ss,ds,ts)|ss=s,ds=d,ts=t}
当s和d均有取值时,S(s,d,t)表示t时刻从频道s切换到频道d的用户总数;若s有取值,d无取值时,S(s,d,t)表示t时刻切出频道s的用户总数;若d有取值,s无取值时,S(s,d,t)表示t时刻切入频道d的用户总数;
然后,定义活跃度Cr,用于衡量当前观看频道d的用户总数的变化量占该频道历史最高在线人数H的比例,反应了频道d的热度,计算方法如下:
其中,S(s,d,t)表示t时刻由频道s切换到频道d的用户总数,用于衡量当前观看频道d的用户总数的变化量,Hd,j表示在过去j日中频道d的每日最高在线人数的平均值,即日均最高在线人数;
将时间切分为长度为若干秒的等长单位时间k,作为计算活跃度Cr的单位时间,因此能够得到:
计算频道d的实时活跃度,即切换的目标频道为频道d,k表示切换行为发生在第k个单位时间,S(s,d,k)表示在第k个单位时间内由频道s切换到频道d的用户总数;用S(s,d,k)和S(s,d,k-1)的差值除以日均最高在线人数Hd,j能够得到活跃度Cr,用以表征单位时间内用户增加量占日均最高在线人数的比例。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华南理工大学,未经华南理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810125606.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:交互式直播拍摄方法
- 下一篇:组件数据处理方法、装置、设备及存储介质