【技术实现步骤摘要】
本专利技术涉及视频直播中活跃用户集的维护
,具体涉及一种基于时间轮盘和弹幕行为的活跃用户集维护方法及系统。
技术介绍
随着互联网技术的迅速发展,越来越多的用户可以使用电脑、手机等终端通过网络观看在线视频直播。在线视频直播是指利用互联网网络资源进行的现场视频直播服务,通过现场的视频拍摄同步发布到网络上,用户可以同一时间在网络上看到实时的现场情况。在视频直播网站的业务场景中,很多直播间主播在发起互动活动或者网站在发起专题活动时,需要只针对观看当前直播间的活跃用户或者在网站上活跃的用户进行互动,这时就需要通过一个活跃用户集来对活跃用户进行实时记录和更新。目前,在视频直播领域中,维护活跃用户集的通常思路为:当服务器连续一段时间内(通常需要自定义该时间,该时间即为超时时长Timeout)没有收到用户发送的弹幕数据,就把该用户剔除出活跃用户集。具体来说,通常分为以下两种方法:(1)针对每个用户,保存相应的lastReceiveTime(最后收到用户发送的弹幕数据的时间);然后通过一个定时器,每秒钟遍历一遍所有用户会话,剔除满足以下公式的用户会话:now-lastReceiveTime>Timeout,其中now为当前时间。方法(1)为的缺点为:方法(1)全局只设有一个repeated timer(重复定时器),当用户数量较多时(例如同时保持上万个用户),repeated timer每次遍历所有用户会话的工作量较大,而且耗时较长,工作效率低下。(2)与方法(1)趋近于相同,区别仅在于方法(2)是为每个用户会话设置一个one-shot timer(一次性定时器), ...
【技术保护点】
一种基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于,该方法包括以下步骤:A、根据用户观看直播时发送的弹幕数据生成弹幕信息,弹幕信息中包括若干弹幕行为识别标识,转到步骤B;B、根据弹幕行为识别标识确定符合规定的弹幕信息,对符合规定的弹幕信息进行缓存和预处理后,得到弹幕行为预处理数据,转到步骤C;C、将弹幕行为预处理数据组成若干数据片,每片数据片包括至少1条弹幕行为预处理数据;定时将当前所有缓存的数据片,按照哈希策略分配为若干组,转到步骤D;D、确定每组数据片中所有验证通过的弹幕行为预处理数据;将所有验证通过的弹幕行为预处理数据对应的用户ID,更新至与当前时间对应的活跃用户集分片中,转到步骤E;所述活跃用户集分片是指:预先将活跃用户集按照指定的活跃计算时间段划分成的若干分片;E、定时将更新后的活跃用户集分片添加至预先创建的时间轮盘中。
【技术特征摘要】
1.一种基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于,该方法包括以下步骤:A、根据用户观看直播时发送的弹幕数据生成弹幕信息,弹幕信息中包括若干弹幕行为识别标识,转到步骤B;B、根据弹幕行为识别标识确定符合规定的弹幕信息,对符合规定的弹幕信息进行缓存和预处理后,得到弹幕行为预处理数据,转到步骤C;C、将弹幕行为预处理数据组成若干数据片,每片数据片包括至少1条弹幕行为预处理数据;定时将当前所有缓存的数据片,按照哈希策略分配为若干组,转到步骤D;D、确定每组数据片中所有验证通过的弹幕行为预处理数据;将所有验证通过的弹幕行为预处理数据对应的用户ID,更新至与当前时间对应的活跃用户集分片中,转到步骤E;所述活跃用户集分片是指:预先将活跃用户集按照指定的活跃计算时间段划分成的若干分片;E、定时将更新后的活跃用户集分片添加至预先创建的时间轮盘中。2.如权利要求1所述的基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于:步骤A中所述弹幕行为识别标识包括:直播间IP地址、用户发送的弹幕数据、用户ID和识别码;识别码为固定长度,生成后会进行加密;识别码的生成规则为:由时间戳、用户使用的终端设备ID和随机数排列而成;在此基础上,步骤B中所述符合规定的弹幕信息中的弹幕行为识别标识需要同时满足以下条件:直播间IP地址的格式合法、用户发送的弹幕数据有效、用户ID不为空、用户ID符合数据字段类型、时间戳格式正确、用户终端类型标识合法。3.如权利要求2所述的基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于:步骤D中所述确定每组数据片中所有验证通过的弹幕行为预处理数据,具体包括以下流程:分别对每组数据片中所有的弹幕行为预处理数据的识别码进行解密,得到时间戳和终端设备ID;判断时间戳是否在合理范围内、且终端设备ID符合规范,若是,确定当前弹幕行为预处理数据验证通过,否则确定当前弹幕行为预处理数据验证未通过,丢弃当前弹幕行为预处理数据。4.如权利要求1至3任一项所述的基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于:步骤C中所述将当前所有缓存的数据片,按照哈希策略分配为若干组的具体流程为:定义若干组的总数量为N,为每片数据片分配一个唯一的ID号UUID;将每个UUID和N进行取模运算,取模运算得到的余数相同的所有数据片为相同组。5.如权利要求1至3任一项所述的基于时间轮盘和弹幕行为的活跃用户集维护方法,其特征在于:步骤E中所述时间轮盘包括1个首尾相连的环形数据结构缓冲循环队列,环形数据结构缓冲循环队列分为若干单元槽,每个单元槽中填充有一片活跃用户集分片;环形数据结构缓冲循环队列中设置有1个指向队尾单元槽的指针;在此基础上,步骤E具体包括以下流程:定义时间轮盘中的顺时针方向为队尾至队首方向,逆时针方向为队首至队尾方向;定时周期过后,将时间轮盘中队首单元槽内的活跃用户集分片移出,其余每个单元槽内的活跃用户集分片,分别按照顺时针方向移动至下一个单元槽;将步骤D中更新后的活跃用户集分片添加至时间轮盘队尾的单元槽,将指针按照顺时针方向移动至下一个单元槽。6.一种实现权利要求1至5任一项所述方法的基于时间轮盘和弹幕行为的活跃用户集维护系统,其特征在于,该系统包括位于每个终端设备上的弹幕信息生成模块、位于服务器上的缓存预处理模块、位于服务器上的数据片组成模块、位于服务器上的若...
【专利技术属性】
技术研发人员:吴瑞诚,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。