CN105979299A - 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法 - Google Patents

基于时间轮盘和播放器心跳的活跃用户集维护系统及方法 Download PDF

Info

Publication number
CN105979299A
CN105979299A CN201610473739.3A CN201610473739A CN105979299A CN 105979299 A CN105979299 A CN 105979299A CN 201610473739 A CN201610473739 A CN 201610473739A CN 105979299 A CN105979299 A CN 105979299A
Authority
CN
China
Prior art keywords
time
active ues
real
player
module
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.)
Granted
Application number
CN201610473739.3A
Other languages
English (en)
Other versions
CN105979299B (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.)
Urumqi Bangbangjun Technology Co ltd
Original Assignee
Wuhan Douyu Network Technology 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 Wuhan Douyu Network Technology Co Ltd filed Critical Wuhan Douyu Network Technology Co Ltd
Priority to CN201610473739.3A priority Critical patent/CN105979299B/zh
Publication of CN105979299A publication Critical patent/CN105979299A/zh
Application granted granted Critical
Publication of CN105979299B publication Critical patent/CN105979299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Medical Treatment And Welfare Office Work (AREA)

Abstract

本发明公开了一种基于时间轮盘和播放器心跳的活跃用户集维护系统及方法,涉及视频直播中活跃用户集的维护技术领域。该方法包括:每个用户终端记录心跳信息并上报直播平台服务器;直播平台服务器对心跳信息进行缓存和预处理,并将心跳信息以若干数据片的形式发送至分布式实时计算模块;分布式实时计算模块对心跳信息进行解析、验证,将验证通过的心跳信息所对应的用户添加到与当前时间对应的活跃用户集分片中;活跃用户集功能模块以活跃计算时间段为周期,定期将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中。本发明基于播放器心跳和时间轮盘来对活跃用户集进行更新维护,不但及时高效,而且不会对系统造成较大负荷。

Description

基于时间轮盘和播放器心跳的活跃用户集维护系统及方法
技术领域
本发明涉及视频直播中活跃用户集的维护技术领域,具体来讲是一种基于时间轮盘和播放器心跳的活跃用户集维护系统及方法。
背景技术
随着互联网技术的迅速发展,越来越多的用户可以使用电脑、手机等终端通过网络观看在线视频直播。在线视频直播是指利用互联网网络资源进行的现场视频直播服务,通过现场的视频拍摄同步发布到网络上,用户可以同一时间在网络上看到实时的现场情况。
在视频直播网站的业务场景中,很多直播间主播在发起互动活动或者网站在发起专题活动时,需要只针对观看当前直播间的活跃用户或者在网站上活跃的用户进行互动,这时就需要通过一个活跃用户集来对活跃用户进行实时记录和更新。
目前,在视频直播领域中,维护活跃用户集的通常思路为:当服务器连续一段时间内(通常需要自定义该时间,该时间即为超时时长Timeout)没有收到用户行为数据,就把该用户剔除出活跃用户集。具体来说,通常分为以下两种方式:
(1)针对每个用户,保存相应的“最后收到行为数据的时间lastReceiveTime”;然后通过一个定时器,每秒钟遍历一遍所有用户的用户会话,剔除那些满足以下公式的用户会话:
当前时间now-最后收到行为数据的时间lastReceiveTime>超时时长Timeout。
但是,由于这种做法全局只设有一个重复定时器repeated timer,因此每次超时都要检查全部用户会话信息,如果用户会话数目比较大(如同时保持上万个用户),则这种方式的检查量就会很大,且整个检查过程耗时严重,降低了实时性。
(2)基本与第一种方式相同,不同的是为每个用户会话设置一个一次性定时器one-shot timer,在定时器超时的时候就断开本会话,且在每次收到用户行为数据的时候更新该定时器。
此方法虽然一定程度上提高了检查的效率,但是需要设置很多一次性定时器,并需要频繁地更新定时器。如果连接数目较大,则会对“待更新计时器队列”造成压力,严重时还会造成系统拥塞甚至崩溃。
发明内容
本发明的目的是为了克服上述背景技术的不足,提供一种基于时间轮盘和播放器心跳的活跃用户集维护系统及方法,能基于正常用户观看视频时的播放器心跳数据产生活跃用户集,同时利用时间轮盘来对活跃用户集保持更新,不但及时高效,且不会对系统造成较大负荷。
为达到以上目的,本发明提供一种基于时间轮盘和播放器心跳的活跃用户集维护系统,包括若干用户终端和一个直播平台服务器,每个用户终端内设置有播放器心跳记录模块,直播平台服务器内设置有缓存预处理模块、分布式实时计算模块和活跃用户集功能模块;
所述播放器心跳记录模块用于:实时记录用户观看直播时播放器的心跳信息;并将记录的心跳信息上报给直播平台服务器;
所述缓存预处理模块用于:对各用户终端上报的心跳信息进行缓存和预处理;定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块;
所述分布式实时计算模块包括若干个实时计算子模块,分布式实时计算模块用于将收到的每个数据片按照哈希策略分配给一个指定的实时计算子模块;每个实时计算子模块对数据片中的心跳信息进行解析并验证,将验证通过的心跳信息所对应的用户添加到当前时间对应的活跃用户集分片中,所述活跃用户集分片是将活跃用户集按照指定的活跃计算时间段划分成的若干分片;
所述活跃用户集功能模块用于:以指定的活跃计算时间段为周期,将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中,所述时间轮盘为一种数据结构,其主体是一个首尾相连的循环列表,该循环列表中包含有若干个称之为槽的模块,每个槽中填充有一个活跃用户集分片,且该循环列表还具有一个指向队尾的指针。
在上述技术方案的基础上,所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,所述识别码的生成规则为:时间戳+用户终端设备API获取的终端设备ID+随机数。
在上述技术方案的基础上,识别码为固定长度,且经加密处理。
在上述技术方案的基础上,所述活跃用户集功能模块以指定的活跃计算时间段为周期,将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中时,具体操作过程为:每经过指定的活跃计算时间段后,时间轮盘中每个槽内的活跃用户集分片向队首前移一格;将当前时间对应的活跃用户集分片更新到位于队尾的槽内;将时间轮盘上的指针向队首前移一格。
本发明还提供一种基于时间轮盘和播放器心跳的活跃用户集维护系统,包括以下步骤:A、每个用户终端的播放器心跳记录模块实时记录用户观看直播时播放器的心跳信息;将记录的心跳信息上报给直播平台服务器;B、直播平台服务器的缓存预处理模块对各个用户终端上报的心跳信息进行缓存和预处理;C、缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块;分布式实时计算模块将每个数据片按照哈希策略分配给一个指定的实时计算子模块;D、每个实时计算子模块对数据片中的心跳信息进行解析并验证,将验证通过的心跳信息所对应的用户添加到当前时间对应的活跃用户集分片中;E、活跃用户集功能模块以活跃计算时间段为周期,定期将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中。
在上述技术方案的基础上,步骤A中所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,该识别码的生成规则为:时间戳+用户终端设备API获取的终端设备ID+随机数;步骤B中,所述缓存预处理模块进行缓存时,会丢弃不符合要求的心跳信息;所述不符合要求的心跳信息包括:用户ID为空或者用户ID不符合数据字段类型的心跳信息、时间戳格式错误的心跳信息、以及用户终端类型标识非法的心跳信息。
在上述技术方案的基础上,步骤C中,缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块,具体包括以下操作:缓存预处理模块每隔1秒钟将当前缓存和预处理后的所有心跳信息发送至分布式实时计算模块,每次发送时将心跳信息组合成若干小于等于1M的数据片进行发送。
在上述技术方案的基础上,步骤C中,分布式实时计算模块将每个数据片按照哈希策略分配给一个指定的实时计算子模块,具体包括以下操作:分布式实时计算模块为每个数据片分配一个唯一的ID号,将该ID号按照实时计算子模块的个数取模,获得的余数则对应指定的实时计算子模块的ID号;将数据片分配给对应ID号的实时计算子模块。
在上述技术方案的基础上,步骤A中所述播放器的心跳信息包括用户ID和按照特定规则生成的识别码,该识别码的生成规则为:时间戳+用户终端设备API获取的终端设备ID+随机数;步骤D具体包括以下操作:每个实时计算子模块对数据片中每个心跳信息包含的识别码进行解密,然后解析识别码,取出时间戳和终端设备ID;分别校验时间戳是否在合理范围内、终端设备ID是否符合规范;若上述校验均通过,则将验证通过的心跳信息的用户ID添加到当前时间对应的一个活跃用户集分片中,否则,直接丢弃该识别码对应的心跳信息,结束。
在上述技术方案的基础上,步骤E具体包括以下操作:每经过指定的活跃计算时间段后,时间轮盘中每个槽内的活跃用户集分片向队首前移一格;将当前时间对应的活跃用户集分片更新到位于队尾的槽内;将时间轮盘上的指针向队首前移一格。
本发明的有益效果在于:
1、本发明基于正常用户观看视频时的播放器心跳数据产生相应的活跃用户集分片,该活跃用户集分片是将活跃用户集按照指定的活跃计算时间段划分成的若干分片,只有播放器心跳数据正常有效的用户才作为活跃用户添加到到与当前时间对应的活跃用户集分片中。在此基础上,同时利用时间轮盘来对活跃用户集保持更新,以指定的活跃计算时间段为周期,定期将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中,从而完成对活跃用户集的及时维护。
与现有技术相比,本发明并不是采用重复定时器或一次性定时器,而是基于播放器心跳和时间轮盘来对活跃用户集进行更新维护,不但及时高效,而且不会对系统造成较大负荷,能在某些互动活动中,有效限制非活跃用户的参与,保证互动活动的有效进行。
2、本发明中,活跃用户集分片是按照指定的活跃计算时间段进行划分的,并且活跃用户集功能模块也是以指定的活跃计算时间段为维护周期。该活跃计算时间段可根据实际使用需要自行设置和调整,活跃用户集分片的个数也就可以相应调整,这就使得活跃用户的统计颗粒度可根据需要进行设置和调整(即可按小时活跃度、分钟活跃度或其他活跃度来统计计算),且相应的时间轮盘周期也可对应调整(即可按1小时维护、1分钟维护或其他周期来维护),灵活性强,适用性高。
3、本发明中,直播平台服务器设置有缓存预处理模块,该缓存预处理模块不仅能对各用户终端上报的心跳信息进行缓存和预处理,还能定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块;并且,该分布式实时计算模块由若干个实时计算子模块组成,每个数据片被分配到指定的一个实时计算子模块进行处理,多个实时计算子模块就能同时处理多个数据片,处理效率极高,实时性更强。
4、本发明中,对数据片是按照哈希策略来选择所要上报的实时计算子模块的,目的是为了提高分布式实时计算模块的水平扩展能力,使得分布式实时计算模块可以根据要处理的数据量的规模来相应增减实时计算子模块的个数。
附图说明
图1为本发明实施例中基于时间轮盘和播放器心跳的活跃用户集维护系统的结构框图;
图2为时间轮盘的结构示意图;
图3为本发明实施例中基于时间轮盘和播放器心跳的活跃用户集维护方法的流程图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步的详细描述。
参见图1所示,本发明实施例提供一种基于时间轮盘和播放器心跳的活跃用户集维护系统,包括若干用户终端和一个直播平台服务器,每个用户终端内设置有播放器心跳记录模块,直播平台服务器内设有缓存预处理模块、分布式实时计算模块和活跃用户集功能模块。
其中,播放器心跳记录模块用于:实时记录用户观看直播时播放器的心跳信息;将记录的心跳信息上报给直播平台服务器。
可以理解的是,播放器的心跳信息包括:用户ID(即用户唯一性的ID)和按照特定规则生成的识别码,该识别码的生成规则为:时间戳+用户终端设备API获取的终端设备ID(终端设备ID是用户终端设备的唯一ID)+随机数;该识别码为固定长度,且生成后经加密处理。
缓存预处理模块用于:对各用户终端上报的心跳信息进行缓存和预处理;定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块。
分布式实时计算模块包括若干个实时计算子模块,分布式实时计算模块用于将收到的每个数据片按照哈希策略分配给一个指定的实时计算子模块;每个实时计算子模块对数据片中的心跳信息进行解析并验证,将验证通过的心跳信息的用户ID添加到当前时间对应的活跃用户集分片中,该活跃用户集分片是指:预先将活跃用户集按照指定的活跃计算时间段划分成的若干分片。例如:若指定的活跃计算时间段为1小时,则活跃用户集对应一天24小时,就有24个相应的活跃用户集分片;若指定的活跃计算时间段为1分钟,则活跃用户集对应一天24*60=1440分钟,就有1440个相应的活跃用户集分片。
活跃用户集功能模块用于:以指定的活跃计算时间段为周期(如以1小时或1分钟等为周期),将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中;如图2所示,已创建的时间轮盘为一种数据结构,其主体是一个首尾相连的循环列表(circular buffer),该循环列表中包含有若干个称之为槽(slot)的模块,每个槽中填充有一个活跃用户集分片,且该循环列表还具有一个指向队尾的指针(tail)。
参见图3所示,本发明实施例还提供一种应用上述系统的基于时间轮盘和播放器心跳的活跃用户集维护方法,包括以下步骤:
步骤S1:每个用户终端的播放器心跳记录模块实时记录用户观看直播时播放器的心跳信息;将记录的心跳信息组装成JSON格式,并对JSON字符串进行BASE64编码;将编码后的心跳信息上报给直播平台服务器,转入步骤S2。
步骤S2:直播平台服务器的缓存预处理模块对各个用户终端上报的心跳信息进行缓存并预处理(统一数据格式),转入步骤S3。
具体来说,缓存预处理模块进行缓存的具体过程为:对各个用户终端上报的心跳信息的JSON字符串进行BASE64解码,丢弃不符合要求的心跳信息。其中,不符合要求的心跳信息包括:用户ID为空或者用户ID不符合数据字段类型的心跳信息、时间戳格式错误的心跳信息、以及用户终端类型标识非法的心跳信息等。
并且,心跳信息经预处理之后的数据格式如下:
步骤S3:缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块;分布式实时计算模块将收到的每个数据片按照哈希策略分配给一个指定的实时计算子模块,转入步骤S4。
实际操作时,步骤S3中缓存预处理模块定时将缓存和预处理后的所有心跳信息以若干数据片的形式发送至分布式实时计算模块,具体包括以下操作:缓存预处理模块每隔1秒钟将当前缓存和预处理后的所有心跳信息发送至分布式实时计算模块,每次发送时将心跳信息组合成若干小于等于1M的数据片进行发送,即每个数据片由至少一个完整的心跳信息组成,且组成的数据片大小小于等于1M。例如:当前缓存的心跳信息一共有三个,其大小分别为0.3M、0.4M和0.5M,则此次发送时,可将0.3M、0.4M的两个心跳信息组成一个数据片,再将0.5M的心跳信息组成另一个数据片;最后将这两个数据片一起发送至分布式实时计算模块。
进一步地,步骤S3中分布式实时计算模块将收到的每个数据片按照哈希策略分配给一个指定的实时计算子模块,具体包括以下操作:分布式实时计算模块为每个数据片分配一个唯一的ID号,将该ID号按照实时计算子模块的个数取模,获得的余数则对应指定的实时计算子模块的ID号;将数据片分配给对应ID号的实时计算子模块。本发明中,对数据片按哈希策略来选择所要上报的实时计算子模块,目的是为了提高分布式实时计算模块的水平扩展能力,使得分布式实时计算模块可以根据要处理的数据量的规模来相应增减实时计算子模块的个数。
步骤S4:每个实时计算子模块对数据片中每个心跳信息包含的识别码进行解密,然后解析识别码,取出时间戳和终端设备ID;分别校验时间戳是否在合理范围内(即时间戳与当前服务器的时间差是否在一分钟内)、终端设备ID是否符合规范(即再校验终端设备ID是否满足识别码的生成规则);若上述校验均通过,说明该识别码对应的心跳信息有效,则将验证通过的心跳信息的用户ID添加到当前时间对应的一个活跃用户集分片中,转入步骤S5;否则,直接丢弃该识别码对应的心跳信息,结束。
步骤S5:活跃用户集功能模块以指定的活跃计算时间段为周期,定期将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中,结束。
具体来说,以指定的活跃计算时间段为周期,定期将当前时间对应的活跃用户集分片更新到已创建的时间轮盘中,具体操作如下:
步骤S501:每经过指定的活跃计算时间段后,时间轮盘中每个槽内的活跃用户集分片向队首前移一格(本发明中,定义沿顺时针方向向队首移动为前移),此时,位于队首的槽内的活跃用户集分片被移出并销毁,位于队尾的槽为空,转入步骤S502;
步骤S502:将当前时间对应的活跃用户集分片更新到位于队尾的槽内,转入步骤S503;
步骤S503:将时间轮盘上的指针向队首前移一格。
本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。

Claims (10)

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具体包括以下操作:每经过指定的活跃计算时间段后,时间轮盘中每个槽内的活跃用户集分片向队首前移一格;将当前时间对应的活跃用户集分片更新到位于队尾的槽内;将时间轮盘上的指针向队首前移一格。
CN201610473739.3A 2016-06-24 2016-06-24 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法 Active CN105979299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610473739.3A CN105979299B (zh) 2016-06-24 2016-06-24 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610473739.3A CN105979299B (zh) 2016-06-24 2016-06-24 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法

Publications (2)

Publication Number Publication Date
CN105979299A true CN105979299A (zh) 2016-09-28
CN105979299B CN105979299B (zh) 2019-06-04

Family

ID=57020561

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610473739.3A Active CN105979299B (zh) 2016-06-24 2016-06-24 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法

Country Status (1)

Country Link
CN (1) CN105979299B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017219740A1 (zh) * 2016-06-24 2017-12-28 武汉斗鱼网络科技有限公司 基于时间轮盘和页面心跳的活跃用户集维护方法及系统
CN109769027A (zh) * 2019-01-25 2019-05-17 广州华多网络科技有限公司 一种消息推送方法、装置及设备
CN112394886A (zh) * 2021-01-21 2021-02-23 全时云商务服务股份有限公司 客户端心跳续约与过期检测方法、装置及计算机可读介质
CN113411237A (zh) * 2021-08-18 2021-09-17 成都丰硕智能数字科技有限公司 一种低延迟检测终端状态的方法、存储介质及系统
CN114363640A (zh) * 2022-01-05 2022-04-15 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统
CN115190051A (zh) * 2021-04-01 2022-10-14 中国移动通信集团河南有限公司 心跳数据识别方法及电子装置

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150716A (ja) * 2001-11-12 2003-05-23 Allied Tereshisu Kk 無線中継装置を用いたスポーツ情報監視システム、スポーツ情報監視システム用無線中継装置及びスポーツ情報監視システム用個人情報取得装置
CN102158740A (zh) * 2011-03-22 2011-08-17 北京九华互联科技有限公司 一种多媒体播放本地监控的方法
CN102763073A (zh) * 2010-01-06 2012-10-31 苹果公司 具有交互式弹出视图的装置、方法和图形用户接口
CN103036955A (zh) * 2012-12-03 2013-04-10 上海现代先进超精密制造中心有限公司 多媒体播放终端的监控系统与监控方法
CN103096435A (zh) * 2011-10-31 2013-05-08 中国移动通信集团公司 连接保持方法、装置、移动终端及数据传输方法
CN103778254A (zh) * 2014-02-24 2014-05-07 北京国双科技有限公司 页面访问数据的处理方法、装置及系统
CN104639436A (zh) * 2013-11-07 2015-05-20 中兴通讯股份有限公司 剩余生存时间老化处理方法及装置
CN105657473A (zh) * 2015-11-25 2016-06-08 乐视云计算有限公司 数据处理的方法和装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003150716A (ja) * 2001-11-12 2003-05-23 Allied Tereshisu Kk 無線中継装置を用いたスポーツ情報監視システム、スポーツ情報監視システム用無線中継装置及びスポーツ情報監視システム用個人情報取得装置
CN102763073A (zh) * 2010-01-06 2012-10-31 苹果公司 具有交互式弹出视图的装置、方法和图形用户接口
CN102158740A (zh) * 2011-03-22 2011-08-17 北京九华互联科技有限公司 一种多媒体播放本地监控的方法
CN103096435A (zh) * 2011-10-31 2013-05-08 中国移动通信集团公司 连接保持方法、装置、移动终端及数据传输方法
CN103036955A (zh) * 2012-12-03 2013-04-10 上海现代先进超精密制造中心有限公司 多媒体播放终端的监控系统与监控方法
CN104639436A (zh) * 2013-11-07 2015-05-20 中兴通讯股份有限公司 剩余生存时间老化处理方法及装置
CN103778254A (zh) * 2014-02-24 2014-05-07 北京国双科技有限公司 页面访问数据的处理方法、装置及系统
CN105657473A (zh) * 2015-11-25 2016-06-08 乐视云计算有限公司 数据处理的方法和装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017219740A1 (zh) * 2016-06-24 2017-12-28 武汉斗鱼网络科技有限公司 基于时间轮盘和页面心跳的活跃用户集维护方法及系统
CN109769027A (zh) * 2019-01-25 2019-05-17 广州华多网络科技有限公司 一种消息推送方法、装置及设备
CN112394886A (zh) * 2021-01-21 2021-02-23 全时云商务服务股份有限公司 客户端心跳续约与过期检测方法、装置及计算机可读介质
CN112394886B (zh) * 2021-01-21 2021-04-09 全时云商务服务股份有限公司 客户端心跳续约与过期检测方法、装置及计算机可读介质
CN115190051A (zh) * 2021-04-01 2022-10-14 中国移动通信集团河南有限公司 心跳数据识别方法及电子装置
CN115190051B (zh) * 2021-04-01 2023-09-05 中国移动通信集团河南有限公司 心跳数据识别方法及电子装置
CN113411237A (zh) * 2021-08-18 2021-09-17 成都丰硕智能数字科技有限公司 一种低延迟检测终端状态的方法、存储介质及系统
CN114363640A (zh) * 2022-01-05 2022-04-15 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统
CN114363640B (zh) * 2022-01-05 2023-11-21 上海哔哩哔哩科技有限公司 数据存储方法、装置及系统

Also Published As

Publication number Publication date
CN105979299B (zh) 2019-06-04

Similar Documents

Publication Publication Date Title
CN105979299A (zh) 基于时间轮盘和播放器心跳的活跃用户集维护系统及方法
Cheng et al. Are we ready for metaverse? a measurement study of social virtual reality platforms
Wang et al. Anatomy of a personalized livestreaming system
CN106210792B (zh) 基于时间轮盘和页面行为的活跃用户集维护方法及系统
CN106131605B (zh) 基于时间轮盘和用户行为的活跃用户集维护系统及方法
CN106162247B (zh) 基于时间轮盘和页面心跳的活跃用户集维护方法及系统
CN107508719A (zh) 测量网络时延的方法、装置及网络节点
CN106027548B (zh) 视频直播网站基于页面心跳事件生成白名单的系统及方法
CN104252458B (zh) 数据分析方法和装置
CN108390881A (zh) 一种分布式高并发实时消息推送方法及系统
CN106067991B (zh) 一种基于用户页面行为轨迹的白名单生成系统及方法
JP2019531541A (ja) 多様なソースからのエントロピの収集
CN106162365B (zh) 基于时间轮盘和弹幕行为的活跃用户集维护方法及系统
Basiri et al. Delay-aware resource provisioning for cost-efficient cloud gaming
CN109656574A (zh) 交易时延度量方法、装置、计算机设备及存储介质
CN107256276A (zh) 一种基于云平台的移动App内容安全获取方法及设备
CN102708614A (zh) 一种网络投票的方法及装置
CN102694832B (zh) 一种游戏系统及其实现方法和游戏客户端
CN108174267A (zh) 直播中互动信息的发送装置、方法及计算机可读存储介质
CN106060594B (zh) 一种基于播放器心跳的白名单生成系统及方法
CN106028077A (zh) 基于时间轮盘和播放状态的活跃用户集维护系统及方法
CN105791326B (zh) 一种基于用户页面行为的白名单生成系统及方法
CN110324364A (zh) 一种离线抽奖方法及电子终端
CN110418176B (zh) 弹幕信息处理方法、装置、服务器及存储介质
CN111714899A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20240312

Address after: 830000, Room 17A, Building 17, Block A, Times Square Community, No. 59 Guangming Road, Tianshan District, Urumqi, Xinjiang Uygur Autonomous Region BD00244

Patentee after: Urumqi Bangbangjun Technology Co.,Ltd.

Country or region after: China

Address before: 430000 East Lake Development Zone, Wuhan City, Hubei Province, No. 1 Software Park East Road 4.1 Phase B1 Building 11 Building

Patentee before: WUHAN DOUYU NETWORK TECHNOLOGY Co.,Ltd.

Country or region before: China