1. 一种基于时间轮盘和播放器心跳的活跃用户集维护系统,包括若干用户终端和一个 直播平台服务器,其特征在于:每个用户终端内设置有播放器心跳记录模块,直播平台服务 器内设置有缓存预处理模块、分布式实时计算模块和活跃用户集功能模块; 所述播放器心跳记录模块用于:实时记录用户观看直播时播放器的心跳信息;并将记 录的心跳信息上报给直播平台服务器; 所述缓存预处理模块用于:对各用户终端上报的心跳信息进行缓存和预处理;定时将 缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块; 所述分布式实时计算模块包括若干个实时计算子模块,分布式实时计算模块用于将收 到的每个数据片按照哈希策略分配给一个指定的实时计算子模块;每个实时计算子模块对 数据片中的心跳信息进行解析并验证,将验证通过的心跳信息所对应的用户添加到当前时 间对应的活跃用户集分片中,所述活跃用户集分片是将活跃用户集按照指定的活跃计算时 间段划分成的若干分片; 所述活跃用户集功能模块用于:以指定的活跃计算时间段为周期,将当前时间对应的 活跃用户集分片更新到已创建的时间轮盘中,所述时间轮盘为一种数据结构,其主体是一 个首尾相连的循环列表,该循环列表中包含有若干个称之为槽的单元,每个槽中填充有一 个活跃用户集分片,且该循环列表还具有一个指向队尾的指针。
2. 如权利要求1所述的基于时间轮盘和播放器心跳的活跃用户集维护系统,其特征在 于:所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,所述识别码的生成 规则为:时间戳+用户终端设备API获取的终端设备ID+随机数。
3. 如权利要求2所述的基于时间轮盘和播放器心跳的活跃用户集维护系统,其特征在 于:所述识别码为固定长度,且经加密处理。
4. 如权利要求1所述的基于时间轮盘和播放器心跳的活跃用户集维护系统,其特征在 于:所述活跃用户集功能模块以指定的活跃计算时间段为周期,将当前时间对应的活跃用 户集分片更新到已创建的时间轮盘中时,具体操作过程为:每经过指定的活跃计算时间段 后,时间轮盘中每个槽内的活跃用户集分片向队首前移一格;将当前时间对应的活跃用户 集分片更新到位于队尾的槽内;将时间轮盘上的指针向队首前移一格。
5. -种应用权利要求1所述系统的基于时间轮盘和播放器心跳的活跃用户集维护方 法,其特征在于,包括以下步骤: A、 每个用户终端的播放器心跳记录模块实时记录用户观看直播时播放器的心跳信息; 将记录的心跳信息上报给直播平台服务器; B、 直播平台服务器的缓存预处理模块对各个用户终端上报的心跳信息进行缓存和预 处理; C、 缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送 至分布式实时计算模块;分布式实时计算模块将每个数据片按照哈希策略分配给一个指定 的实时计算子模块; D、 每个实时计算子模块对数据片中的心跳信息进行解析并验证,将验证通过的心跳信 息所对应的用户添加到当前时间对应的活跃用户集分片中; E、 活跃用户集功能模块以活跃计算时间段为周期,定期将当前时间对应的活跃用户集 分片更新到已创建的时间轮盘中。
6. 如权利要求5所述的基于时间轮盘和播放器心跳的活跃用户集维护方法,其特征在 于:步骤A中所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,该识别码的 生成规则为:时间戳+用户终端设备API获取的终端设备ID+随机数; 步骤B中,所述缓存预处理模块进行缓存时,会丢弃不符合要求的心跳信息;所述不符 合要求的心跳信息包括:用户ID为空或者用户ID不符合数据字段类型的心跳信息、时间戳 格式错误的心跳信息、以及用户终端类型标识非法的心跳信息。
7. 如权利要求5所述的基于时间轮盘和播放器心跳的活跃用户集维护方法,其特征在 于:步骤C中,缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式 发送至分布式实时计算模块,具体包括以下操作:缓存预处理模块每隔1秒钟将当前缓存和 预处理后的所有心跳信息发送至分布式实时计算模块,每次发送时将心跳信息组合成若干 小于等于1M的数据片进行发送。
8. 如权利要求5所述的基于时间轮盘和播放器心跳的活跃用户集维护方法,其特征在 于:步骤C中,分布式实时计算模块将每个数据片按照哈希策略分配给一个指定的实时计算 子模块,具体包括以下操作:分布式实时计算模块为每个数据片分配一个唯一的ID号,将该 ID号按照实时计算子模块的个数取模,获得的余数则对应指定的实时计算子模块的ID号; 将数据片分配给对应ID号的实时计算子模块。
9. 如权利要求5所述的基于时间轮盘和播放器心跳的活跃用户集维护方法,其特征在 于:步骤A中所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,该识别码的 生成规则为:时间戳+用户终端设备API获取的终端设备ID+随机数; 在此基础上,步骤D具体包括以下操作:每个实时计算子模块对数据片中每个心跳信息 包含的识别码进行解密,然后解析识别码,取出时间戳和终端设备ID;分别校验时间戳是否 在合理范围内、终端设备ID是否符合规范;若上述校验均通过,则将验证通过的心跳信息的 用户ID添加到当前时间对应的一个活跃用户集分片中,否则,直接丢弃该识别码对应的心 跳信息,结束。
10. 如权利要求5所述的基于时间轮盘和播放器心跳的活跃用户集维护方法,其特征在 于,步骤E具体包括以下操作:每经过指定的活跃计算时间段后,时间轮盘中每个槽内的活 跃用户集分片向队首前移一格;将当前时间对应的活跃用户集分片更新到位于队尾的槽 内;将时间轮盘上的指针向队首前移一格。