1.一种视频观看时长的获取方法,其特征在于,包括:
当接收到客户端发送的观看行为报文时,基于所述观看行为报文中的行为标识判断所述观看行为报文是否为有效报文;所述行为标识为所述客户端在用户播放视频的情况下生成的标识;
若所述观看行为报文为有效报文,则确定所述观看行为报文对应的播放事件类型;
若所述播放事件类型为心跳事件,则在所述观看行为报文中获取所述心跳事件对应的观看时长;
判断所述观看时长是否为有效观看时长;
若所述观看时长为有效观看时长,则获取所述行为标识对应的累计观看时长,将所述累计观看时长与所述观看时长进行相加,获得所述行为标识对应的当前累计观看时长。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述播放事件类型为缓冲事件,则在所述观看行为报文中获取所述缓冲事件对应的缓冲时长;并获取所述行为标识对应的累计观看时长;
判断所述缓冲时长是否为有效缓冲时长;
若所述缓冲时长为有效缓冲时长,将所述累计观看时长减去所述缓冲时长,获得所述行为标识对应的当前累计观看时长。
3.根据权利要求1所述的方法,其特征在于,所述获得所述行为标识对应的当前累计观看时长之后,还包括:
判断所述行为标识对应的观看行为是否已结束;
若所述行为标识对应的观看行为已结束,则将所述当前累计观看时长通过预先设置的数据传输队列传输至下游系统,使得所述下游系统基于所述当前累计观看时长为所述用户提供推荐服务。
4.根据权利要求3所述的方法,其特征在于,所述判断所述行为标识对应的观看行为是否已结束,包括:
判断所述心跳事件是否为最后一个心跳事件;
判断在预设时长内是否未接收到所述行为标识对应的播放事件类型为暂停事件和心跳事件的观看行为报文;
若以上任一判断结果为是,则确定所述行为标识对应的观看行为已结束;
若以上两个判断结果均为否,则确定所述行为标识对应的观看行为未结束。
5.根据权利要求1所述的方法,其特征在于,所述判断所述观看时长是否为有效观看时长,包括:
判断所述心跳事件是否为首个心跳事件;
在所述心跳事件不为首个心跳事件的情况下,确定当前时刻与历史接收时刻之间的时间差值;所述历史接收时刻为接收到所述心跳事件的前一心跳事件的历史观看行为报文的时刻;
若所述时间差值大于或等于所述观看时长,则确定所述观看时长为有效观看时长;
若所述时间差值小于所述观看时长,则确定所述观看时长不为有效观看时长;
在所述心跳事件为首个心跳事件的情况下,确定所述观看时长为有效观看时长。
6.一种视频观看时长的获取装置,其特征在于,包括:
接收单元,用于当接收到观看行为报文时,基于所述观看行为报文中的行为标识判断所述观看行为报文是否为有效报文;所述行为标识为所属客户端在用户播放视频的情况下生成的标识;
确定单元,用于若所述观看行为报文为有效报文,则确定所述观看行为报文对应的播放事件类型;
第一获取单元,用于若所述播放事件类型为心跳事件,则在所述观看行为报文中获取所述心跳事件对应的观看时长;
第一判断单元,用于判断所述观看时长是否为有效观看时长;
第一执行单元,用于若所述观看时长为有效观看时长,则获取所述行为标识对应的累计观看时长,将所述累计观看时长与所述观看时长进行相加,获得所述行为标识对应的当前累计观看时长。
7.根据权利要求6所述的装置,其特征在于,还包括:
第二获取单元,用于若所述播放事件类型为缓冲事件,则在所述观看行为报文中获取所述缓冲事件对应的缓冲时长;并获取所述行为标识对应的累计观看时长;
第二判断单元,用于判断所述缓冲时长是否为有效缓冲时长;
第二执行单元,用于若所述缓冲时长为有效缓冲时长,则将所述累计观看时长减去所述缓冲时长,获得所述行为标识对应的当前累计观看时长。
8.根据权利要求6所述的装置,其特征在于,还包括:
第三判断单元,用于判断所述行为标识对应的观看行为是否已结束;
传输单元,用于若所述行为标识对应的观看行为已结束,则将所述当前累计观看时长通过预先设置的数据传输队列传输至下游系统,使得所述下游系统基于所述当前累计观看时长为所述用户提供推荐服务。
9.根据权利要求8所述的装置,其特征在于,所述第三判断单元,包括:
第一判断子单元,用于判断所述心跳事件是否为最后一个心跳事件;
第二判断子单元,用于判断在预设时长内是否未接收到所述行为标识对应的播放事件类型为暂停事件和心跳事件的观看行为报文;
第一确定子单元,用于在所述第一判断子单元的判断结果和所述第二判断子单元的判断结果中的至少一个判断结果为是的情况下,则确定所述行为标识对应的观看行为已结束;
第二确定子单元,用于在所述第一判断子单元的判断结果和所述第二判断子单元的判断结果均为否的情况下,则确定所述行为标识对应的观看行为未结束。
10.根据权利要求6所述的装置,其特征在于,所述第一判断单元,包括:
第三判断子单元,用于判断所述心跳事件是否为首个心跳事件;
第三确定子单元,用于在所述心跳事件为非首个心跳事件的情况下,确定当前时刻与历史接收时刻之间的时间差值;所述历史接收时刻为接收到所述心跳事件的前一心跳事件的历史观看行为报文的时刻;
第四确定子单元,用于若所述时间差值大于或等于所述观看时长,则确定所述观看时长为有效观看时长;
第五确定子单元,用于若所述时间差值小于所述观看时长,则确定所述观看时长不为有效观看时长;
第六确定子单元,用于在所述心跳事件为首个心跳事件的情况下,确定所述观看时长为有效观看时长。