弹幕信息处理方法、装置、服务器及存储介质与流程

文档序号:19060432发布日期:2019-11-06 01:43阅读:210来源:国知局
弹幕信息处理方法、装置、服务器及存储介质与流程

本发明涉及网络技术领域,特别涉及一种弹幕信息处理方法、装置、服务器及存储介质。



背景技术:

目前,视频平台不仅支持视频的线播放,还可以在视频画面上显示视频相关的信息,例如,观看者的评论信息。其中,该信息一般以子弹飞出的方式进行显示,大量信息从视频画面上飘过从而达到幕布的效果,因而,该信息被称为弹幕信息。本领域技术人员可以基于弹幕信息,对视频平台上的视频或者发布视频的用户进行分析。

相关技术中,以直播平台为例,弹幕信息处理过程为:每个第一服务器上均部署了一种直播平台的协议破解服务,对于每个直播平台上的直播视频,由第一服务器基于该协议破解服务,与该直播平台的第二服务器建立长连接,该第一服务器为部署破解该直播平台的协议破解服务的服务器。该协议破解服务用于破解该直播平台的第二服务器的访问协议,并与该第二服务器建立长连接。然后,该第一服务器基于该长连接,接收该第二服务器推送的弹幕信息。大量第一服务器通过基于本服务器上部署的协议破解服务执行上述过程,从而获得多个直播平台上直播视频的弹幕信息。第一服务器基于直播视频的弹幕信息,对该直播视频进行数据分析。

上述过程中,一个第一服务器只针对一种直播平台,当某一直播平台上的直播视频突然大量增加时,该第一服务器上承载的负载会突然增大,使得单个第一服务器不稳定,导致上述处理过程的稳定性和可靠性较差。



技术实现要素:

本发明实施例提供了一种弹幕信息处理方法、装置、服务器及存储介质,能够解决相关技术中稳定性和可靠性较差的问题。所述技术方案如下:

一方面,提供了一种弹幕信息处理方法,所述方法应用于第一服务器中,所述方法包括:

对多个资源平台上多个资源的资源信息进行解析,得到多个第二服务器的访问信息,所述多个第二服务器用于为所述多个资源平台提供弹幕服务;

基于所述多个访问信息,与所述多个第二服务器分别建立长连接;

分别基于与所述多个第二服务器之间的长连接,接收所述多个第二服务器的多个资源的弹幕信息;

根据所述多个资源的弹幕信息,生成分析页面,所述分析页面包括对所述多个资源在多个维度的数据分析结果。

另一方面,提供了一种弹幕信息处理装置,所述装置应用于第一服务器中,所述装置包括:

解析模块,用于对多个资源平台上多个资源的资源信息进行解析,得到多个第二服务器的访问信息,所述多个第二服务器用于为所述多个资源平台提供弹幕服务;

建立模块,用于基于所述多个访问信息,与所述多个第二服务器分别建立长连接;

接收模块,用于分别基于与所述多个第二服务器之间的长连接,接收所述多个第二服务器的多个资源的弹幕信息;

生成模块,用于根据所述多个资源的弹幕信息,生成分析页面,所述分析页面包括对所述多个资源在多个维度的数据分析结果。

另一方面,提供了一种服务器,所述服务器包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上述的弹幕信息处理方法所执行的操作。

另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如上述的弹幕信息处理方法所执行的操作。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例提供的方法及装置,第一服务器可以解析来自多个资源平台的多个资源的资源信息,得到多个第二服务器的访问信息,从而单个第一服务器能够获取到多个第二服务器的访问信息;同时,该第一服务器可以分别基于与该多个第二服务器的长连接,接收该多个第二服务器主动推送的弹幕信息,最终根据该多个资源的弹幕信息,生成分析页面。由于每个第一服务器均能够从多个第二服务器拉取弹幕信息;因此,当资源数量突然变化较大时,只需调整第一服务器的数量即可,避免了某一资源平台业务突增导致单台第一服务器的不稳定的情况,提高了弹幕信息处理过程的可靠性和稳定性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对本发明实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的一种弹幕信息处理方法的实施环境的示意图;

图2是本发明实施例提供的一种弹幕信息处理方法的流程图;

图3是本发明实施例提供的一种直播列表页面示意图;

图4是本发明实施例提供的一种弹幕信息示意图;

图5是本发明实施例提供的一种两种服务的关系示意图;

图6是本发明实施例提供的一种分析日志示意图;

图7是本发明实施例提供的一种分析页面示意图;

图8是本发明实施例提供的一种系统模块示意图;

图9是本发明实施例提供的一种系统技术架构示意图;

图10是本发明实施例提供的一种系统技术架构示意图;

图11是本发明实施例提供的一种弹幕信息处理流程示意图;

图12是本发明实施例提供的一种弹幕信息处理方法的流程示意图;

图13是本发明实施例提供的一种弹幕信息处理装置的结构示意图;

图14是本发明实施例提供的一种服务器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1是本发明实施例提供的一种弹幕信息处理方法的实施环境的示意图,参见图1,该实施环境包括第一服务器101和第二服务器102,该第一服务器101可以或用于从多个资源平台上爬取资源信息;该多个资源平台可以是音视频资源播放平台,用于播放音视频资源,该第二服务器102用于为资源平台提供弹幕服务,其中,每个资源平台对应有第二服务器102,每个第二服务器102用于为该第二服务器102对应的资源平台提供弹幕服务。

其中,该第一服务器101获取多个资源平台的播放列表页面,根据该多个播放列表页面,从多个资源平台上爬取多个资源的资源信息。该第一服务器101获取每个资源平台的资源信息的字段含义信息,该资源信息中包括资源平台对应的第二服务器102的访问信息,该第一服务器101根据该字段含义信息,从多个资源信息中解析出多个第二服务器102的访问信息。其中,该字段含义信息可以为:资源信息的第一字段用于存储访问信息,或者,访问信息存储于目标字符串之后。则该第一服务器101从第一资源的资源信息中提取第一字段中的字符串,作为该第一资源平台对应的第二服务器102的访问信息;或者,该第一服务器101从第二资源信息中提取目标字符串之后的字符串,作为第二资源平台对应的第二服务器102的访问信息。该第一服务器101基于第二服务器102的访问信息,与该第二服务器102建立长连接,模拟观众用户在该资源平台上浏览资源的过程,以使该第二服务器102基于长连接,主动向该第一服务器101推送该资源的弹幕信息;从而该第一服务器101可以通过上述模拟观众用户浏览资源的过程,分别从多个第二服务器102上拉取多个资源的弹幕信息。该第一服务器101基于该多个资源的弹幕信息,对多个资源进行多个维度的数据分析,最终生成分析页面。

进一步的,该第一服务器101还可以基于多个资源的弹幕信息,对发布该资源的用户进行数据分析,同时,还可以结合发布该资源的用户的访问数据,从多个维度做进一步的分析、统计。

其中,该第一服务器101可以为服务器集群上的任一服务器,该服务器集群中的任一服务器上均部署了资源信息爬取服务和弹幕信息抓取服务,该资源信息爬取服务用于实现从多个资源平台上获取多个资源的资源信息,该弹幕信息抓取服务用于实现基于多个资源信息从多个第二服务器102上拉取多个资源的弹幕信息。当该第一服务器101获取多个资源的资源信息后,该第一服务器101还可以通过远程调用的方式,调用该服务器集群上除本服务器以外的任一服务器的弹幕信息抓取服务,来实现基于资源信息获取弹幕信息的过程。

其中,该第二服务器102可以为该资源平台的后台服务器,也即是,该第二服务器102可以为该资源平台提供弹幕服务和大量在线资源的播放,该弹幕服务是指在播放该资源平台上播放资源过程中提供弹幕信息的发布与显示的服务。该第二服务器102还可以是仅为资源平台提供弹幕服务的服务器。本发明实施例对此不做具体限定。

其中,该资源可以为多媒体资源或者文本资源,例如,视频、音频、电子书等,该资源平台可以为视频平台、直播平台、音频平台或者文本信息浏览平台等。资源平台的资源服务器可以从其他设备中实时获取该资源,也可以从本地资源库中直接获取资源,例如,直播平台上主播正在直播的视频,视频播放器上的在线视频。该第一服务器101可以从资源应用程序上登录该资源平台,还可以通过浏览器的网页中登录该资源平台,抓取该资源平台上的资源信息。本发明实施例对此不做具体限定。该弹幕信息可以为浏览该资源的用户发出的评论信息、赠送的礼物、对该资源的点赞信息、点踩信息或者观看用户根据平台活动所发出的活动参与信息等等。

图2是本发明实施例提供的一种获取弹幕信息的方法流程图。该发明实施例的执行主体为第一服务器,参见图2,该方法包括:

201、第一服务器获取多个资源平台的多个播放列表页面,从该多个播放列表页面中提取多个资源的资源信息。

其中,该多个播放列表页面用于提供该多个资源的播放入口。每个资源的资源信息用于指示分别从资源服务器和第二服务器中,获取该资源和该资源的弹幕信息,该第二服务器用于为该资源平台提供弹幕服务,该资源服务器用于为该资源所在的资源平台提供大量资源,以使该资源平台可以支持大量资源的在线播放。本发明实施例中,每个资源平台对应有播放列表页面。本步骤中,该第一服务器通过获取该多个资源平台的多个播放列表页面,从该多个播放列表页面中提取该多个资源的资源信息。

该第一服务器可以存储多个资源平台的列表页面信息,对于每个资源平台,该资源平台的列表页面信息用于指示该资源平台的播放列表页面。该第一服务器可以根据该资源平台的列表页面信息,从该资源平台的资源服务器中获取该播放列表页面。其中,该列表页面信息可以为该播放列表页面的网页地址。另外,资源平台上的资源可能会实时变化。因此,该第一服务器还可以采用轮询的方式,向多个资源服务器发送获取请求,持续从多个资源服务器中获取最新的播放列表页面。

需要说明的是,对于每个资源平台的播放列表页面,该播放列表页面的中存储多个资源的资源信息;每个资源的资源信息可以包括该资源的资源标识和第二服务器的访问信息,该资源平台基于该资源信息来支持该资源的在线播放,并在播放过程中支持弹幕信息的实时采集及在线播放。其中,该播放列表页面可以为全量的播放列表页面,也即是,该播放列表页面可以提供该资源平台上全部的资源的播放入口。

其中,该第一服务器可以通过网页爬虫等爬取工具,从每个播放列表页面的源代码中爬取该资源平台上全部资源的资源信息。以直播平台为例,该资源为该直播平台上的直播视频,该第一服务器可以获取多个直播平台的直播列表页面的网页地址,该网页地址可以为http(hypertexttransferprotocol,超文本传输协议)地址。该第一服务器根据多个直播平台的网页地址,以轮询的方式,向多个直播平台的直播服务器发送获取请求,该获取请求用于指示向该第一服务器返回直播平台的直播列表页面,该获取请求可以为一个http请求。该直播平台的直播服务器接收该获取请求,向该第一服务器发送该直播服务器对应的直播平台的直播列表页面,该第一服务器接收该多个直播平台的多个直播列表页面。该第一服务器通过web(网页)爬虫,从该直播平台的直播列表页面中爬取多个直播视频的直播房间信息,该直播房间信息可以包括该直播视频所在的房间标识、主播标识和该直播平台的第二服务器的访问信息。其中,以轮询方式向多个第二服务器发送获取请求的过程可以为:该第一服务器根据多个直播平台的网页地址,依次向多个直播平台的直播服务器发送获取请求;当每次发送结束时,该第一服务器重复执行依次向多个直播服务器发送获取请求的步骤,从而能够实时更新每个直播平台的直播列表页面。

如图3所示,图3为某个直播平台的直播列表页面,该直播平台默认显示该直播平台上全部的直播视频。当然,该直播列表页面中还可以有多个视频类别选项,例如,网游竞技、单机热游、娱乐天地、科技教育等,该直播平台还可以提供在该直播列表页面中仅显示某一视频类别的直播视频的直播入口。该第一服务器可以对多个直播平台上的直播列表页面进行http轮询,并在多个全量的直播列表页面中爬取各个直播视频的房间id(identity,身份标识号码)、主播id和直播平台信息等,该直播平台信息包括了该直播平台的第二服务器的访问信息。

其中,该第一服务器上可以事先部署资源信息爬取服务,该资源信息爬取服务用于实现上述提取资源信息过程。该第一服务器可以通过调用该资源信息爬取服务的方式,执行上述提取资源信息的过程。

需要说明的是,本步骤中的资源信息,可以基于步骤201实时从资源平台的播放列表页面中提取,也可以事先提取并存储至目标存储空间中,则步骤201还可以替换为:第一服务器从目标存储空间中获取该多个资源的资源信息。

需要说明的是,第一服务器上存储了多个资源平台的网页地址,该第一服务器可以轮询该多资源平台的播放列表页面,从页面中爬取多个资源的资源信息,从而避免了每个第一服务器只能针对一个资源平台抓取资源信息,当资源平台的资源数量突然大量增加时,只需增加一个或多个第一服务器,在新增第一服务器上部署资源信息抓取服务即可,从而提高了方案的平行扩展能力,同时,通过持续轮询的方式获取播放列表页面,可以很好的监测每个资源平台上资源的动态变化情况,更为准确的获取到每个资源的资源信息,提高了提取资源信息的准确性和可靠性。同时对各个播放列表页面进行全量监控的方式,能够得到每个资源平台上全部资源的资源信息,保证了数据的完整性。

202、第一服务器对多个资源平台上多个资源的资源信息进行解析,得到多个第二服务器的访问信息。

其中,该多个第二服务器用于为该多个资源平台提供弹幕服务;该第一服务器上事先存储了多个资源平台的资源信息的字段含义信息,该字段含义信息是指该资源信息的一个或多个字段中存储的信息的含义。本发明实施例中,该字段含义信息用于指示资源平台上资源信息中的访问信息。对于每个资源平台上资源的资源信息,该第一服务器可以根据该字段含义信息的指示,确定该资源的资源信息中访问信息,并从该资源信息中提取该访问信息,将该访问信息作为该资源平台的第二服务器的访问信息。

其中,在不同资源平台上,可以将访问信息存储于资源信息的固定字段,也可以将访问信息存储于资源信息中固定字符串之后。为了区分不同资源平台之间的字段含义信息的不同,将采用固定字段存储访问信息的资源平台称为第一资源平台,将采用固定字符串标识访问信息的资源平台称为第二资源平台。相应的,本步骤可以通过以下两种方式实现。

第一种方式、当资源信息的第一字段存储有访问信息时,第一服务器从第一资源平台的资源信息的第一字段中提取该第一资源平台的第二服务器的访问信息。

对于第一资源平台,该第一服务器可以存储该第一资源平台的第一字段含义信息,该第一字段含义信息用于指示存储访问信息的第一字段,该第一服务器可以根据该第一字段含义信息,确定出该资源信息中的第一字段,并从第一资源的资源信息中提取该第一字段中的字符串,该第一服务器将该提取的字符串确定为该第一资源平台的第二服务器的访问信息。

第二种方式、当资源信息的目标字符串之后存储有访问信息时,第一服务器从第二资源平台的资源信息的目标字符串之后提取该第二资源平台的第二服务器的访问信息。

对应第二资源平台,该第一服务器可以存储该第二资源平台的第二字段含义信息,该第二字段含义信息用于指示该资源信息中的目标字符串之后存储有访问信息,该第一服务器可以根据该第二字段含义信息,确定出该资源信息中的目标字符串,并从第二资源的资源信息中提取存储于该目标字符串之后的字符串,将该提取的字符串确定为该第二资源平台的第二服务器的访问信息。

当然,该多个资源平台上还可以有其他字段含义信息,例如,该字段含义信息还可以为存储于目标字符串之前、或者存储于目标字段的目标字符串之后等,本发明实施例对此不做具体限定。基于该其他字段含义信息提取访问信息的过程,与上述两种方式的实现过程同理,此处不再赘述。

需要说明的是,该第一服务器可以基于事先存储了多个资源信息的字段含义信息,从而每个第一服务器均可以同时获取多个资源平台的第二服务器的访问信息,并且,当某个资源平台上资源数量突增时,可以直接增加一定数量的第一服务器,来承载增加的负载,避免了单个第一服务器负载突然发生变化时的不稳定,提高了方案的可靠性和稳定性。

203、第一服务器基于该多个访问信息,与该多个第二服务器分别建立长连接。

本发明实施例中,该访问信息中包括第二服务器的服务器标识,该资源信息中该包括该资源的资源标识,该第一服务器从该多个资源信息中,获取多个资源的资源标识,根据该多个资源标识和该多个访问信息中的服务器标识,向该多个第二服务器发送访问请求,该访问请求用于请求建立长连接。对每个第二服务器,该第二服务器根据接收到的访问请求,与该第一服务器建立长连接,并从该访问请求中获取该资源标识。

在一种可能的实施方式中,该访问信息还可以包括第二服务器的鉴权协议信息,该鉴权协议信息用于指示具备对第二服务器进行访问的权限。该第一服务器根据该多个资源的资源标识、多个访问信息中的服务器标识和鉴权协议信息,向该多个第二服务器发送访问请求。对于每个第二服务器,该第二服务器从该访问请求中获取该鉴权协议信息和资源标识,根据该鉴权协议信息,验证该第一服务器具备访问权限后,再与该第一服务器建立长连接。

在该访问信息中,该服务器标识可以为第二服务器的域名或者该第二服务器的id;该鉴权协议信息可以包括标志位信息和密钥,该密钥用于该第一服务器与该第二服务器之间信息交互时对信息的加密、解密。该标志位信息用于唯一标识该第一服务器,该标志位信息可以为token(临时令牌)信息。其中,该标志位信息一般为该第二服务器分配的信息,该第二服务器在该第二服务器的本地存储空间中也存储该标志位信息,当该第二服务器验证该访问请求中的标志位信息与本地存储的标志位信息一致时,确定该第一服务器具备访问权限。

在一种可能的实施方式中,每个资源平台上的资源数量庞大,该第一服务器均需基于该资源的资源信息中的访问信息,向该资源平台的第二服务器发送一个访问请求,同一个第二服务器可能会收到大量的访问请求。第二服务器通常采取一定的反抓取方式,防止该第二服务器上的信息被随意爬取。其中,当第二服务器接收到第一服务器的大量访问请求时,会基于该反抓取方式,限制第一服务器与该第二服务器的长连接。因此,该第一服务器可以采用与该多个第二服务器的反抓取方式对应的连接方式,分别向该多个第二服务器发送访问请求。其中,该第二服务器可以通过限制同一设备的连接频率、连接次数或者限制连接设备的ip(internetprotocol,互联网协议)地址等方式,防止第二服务器上的信息被爬取。相应的,该第一服务器可以通过以下三种方式,向第二服务器发送访问请求。

第一种方式、对于限制连接频率的第二服务器,该第一服务器按照目标连接频率,向该限制连接频率的第二服务器发送访问请求。

其中,对于限制连接频率的第二服务器,不同第二服务器对应的目标连接频率也可以不同,该第一服务器上可以存储多个不同第二服务器的服务器标识和目标连接频率之间的对应关系,每当向第二服务器发送访问请求时,该第一服务器根据该第二服务器的服务器标识,从服务器标识和目标连接频率之间的对应关系中,获取该第二服务器的目标连接频率。其中,该目标连接频率可以基于需要进行设置,例如,该目标连接频率可以为每秒钟发送100次、每分钟发送5000次等。

第二种方式、对于限制连接次数的第二服务器,当已发送的访问请求达到目标次数,该第一服务器延迟目标时长后,向该限制连接次数的第二服务器发送访问请求。

其中,对于限制连接次数的第二服务器,该第一服务器可以将多个访问请求分多次发送,每次发送过程中,该第一服务器可以实时监测已发送的访问请求的次数,当已发送的访问请求达到目标次数时,该第一服务器则延长目标时长后,再继续执行下一次发送过程。

其中,该目标时长可以基于需要进行设置,例如,该目标时长可以为0.5秒、10毫秒等。

第三种方式、对于限制连接设备的ip地址的第二服务器,该第一服务器获取多个代理ip地址,以该多个代理ip地址作为第一服务器地址,向该限制连接设备的ip地址的第二服务器发送访问请求。

对于限制连接设备的ip地址的第二服务器,该第一服务器可以事先存储多个代理ip地址,采用多个代理ip地址切换发送的方式,向该第二服务器发送访问请求。其中,多个代理ip地址切换发送的方式可以为:以每个代理ip地址作为第一服务器地址,发送预设次数的访问请求后,切换为其他代理ip地址继续发送;或者,该第一服务器还可以每隔预设时段,切换代理ip地址作为第一服务器地址,向第二服务器发送访问请求。当然,该多代理ip地址切换发送的方式还可以为,按照资源类别,切换不同的代理ip地址进行发送,本发明实施例对此不做具体。

在一种可能的实施方式中,该资源平台可以为直播平台,该资源为直播视频,则该资源标识可以为主播标识和直播的直播房间标识。对于该直播平台上每个资源的资源信息,该第一服务器可以从该每个资源信息中,提取每个直播的直播房间标识和主播标识。

需要说明的是,该第一服务器可以与多个第二服务器分别建立长连接,从而后续可以分别从多个第二服务器上抓取弹幕信息,并且,该第一服务器还可以针对不同第二服务器的反抓取方式,采用与之对应的连接方式,也即是反反扒策略,向多个第二服务器发送访问请求,从而提高了建立长连接的成功率和连接效率。

204、第一服务器分别基于与该多个第二服务器之间的长连接,接收该多个第二服务器的多个资源的弹幕信息。

本步骤中,对于每个第二服务器,该第二服务器可以基于接收到的访问请求,获取访问请求中的资源标识,根据该资源标识,通过长连接,主动向该第一服务器推送该资源标识对应的资源上的弹幕信息。该第一服务器基于该长连接,接收该第二服务器推送的弹幕信息。

在一种可能的实施方式中,该访问信息中还可以携带鉴权协议信息,因此,该第一服务器还可以通过该长连接,接收该多个第二服务器推送的多个资源的弹幕数据包;对于每个第二服务器推送的弹幕数据包,根据该第二服务器的访问信息中鉴权协议信息,对该弹幕数据包进行解析,得到该弹幕信息。其中,该第一服务器根据该鉴权协议信息中的密钥,对该弹幕数据包进行解密,得到弹幕信息。

其中,该第一服务器还可以存储多个资源平台的弹幕数据包的封装格式,该弹幕数据包中还可以包括该弹幕信息的信息类别、发送时间等,弹幕信息、信息类别和发送时间等信息,该第一服务器可以获取各个资源平台的弹幕数据包的封装格式,对来自各个第二服务器的弹幕数据包进行解封装,得到弹幕信息。

如图4所示,图4为从某个直播平台上抓取的弹幕数据包中的信息,该直播平台上的弹幕信息以json格式进行存储,当该直播平台的第二服务器推送该json格式的弹幕数据包时,该第一服务器可以直接按照该直播平台上数据封装格式进行解析,得到该弹幕信息为“这首歌真嗨”,另外,从图4中可以看出,该弹幕数据包中还可以包括该弹幕信息的信息类型为“chat(聊天)”。

其中,该第一服务器上可以事先部署弹幕信息抓取服务,该弹幕信息抓取服务用于实现上述步骤202-204中基于资源信息从第二服务器中抓取弹幕信息的过程。上述步骤202-204还可以为:当该第一服务器获取到资源信息时,该第一服务器调用弹幕信息抓取服务,并将该资源信息输入该弹幕信息抓取服务中,执行上述基于该资源信息抓取弹幕信息的过程。

另外,该第一服务器还可以为第一服务器集群中任一第一服务器,在该第一服务器集群中,由该第一服务器实现资源信息的获取,由第一服务器集群中其他第一服务器实现弹幕信息抓取过程,因此,该第一服务器获取的弹幕信息抓取服务后,调用该弹幕信息抓取服务,并将该资源信息发送至该弹幕信息抓取服务所在的第一服务器。

在一种可能的实施方式中,该第一服务器获取到该弹幕数据包时,该第一服务器还可以先将该弹幕数据包存储至消息库中,后续进行数据分析时,再解析弹幕数据包得到弹幕信息。例如,该第一服务器基于弹幕信息抓取服务获取原始的弹幕数据后,先将该原始的弹幕数据存储至kafka(卡夫卡)消息系统中,后续通过kafka消息系统将弹幕原始数据进行传输。

需要说明的是,方案通过在第一服务器集群中,将资源信息获取服务和弹幕信息抓取服务均进行多节点部署,从而提高了方案的平行部署能力,使得整个系统在执行过程中可以有效地进行负载均衡和容灾。如图5所示,第一服务器在通过资源信息获取服务提取资源信息后,通过rpc(remoteprocedurecall,远程过程调用)调用弹幕信息抓取服务,将两种服务解耦,实现服务的方便部署以及调试,提高了整个弹幕信息处理过程的可靠性和稳定性。另外,本发明实施例通过采用破解不同资源平台的socket(套接字)弹幕协议的方式进行弹幕信息的监控,与第二服务器建立长连接后,等待第二服务器主动推送弹幕信息,相比于现有技术中根据资源数量持续发送轮询请求的方式,极大地节省计算机资源和带宽资源。

205、第一服务器根据该多个资源的弹幕信息,生成分析页面。

其中,该分析页面包括对该多个资源在多个维度的数据分析结果。

本步骤中,该第一服务器可以根据该多个资源的弹幕信息,从多个维度对该多个资源进行数据分析,得到该多个资源在多个维度的数据分析结果,并将多个维度的数据分析结果显示分析页面中。

其中,该第一服务器可以资源类别为单位进行统计,显示第一分析页面。该第一分析页面用于显示该资源类别在多个维度的分析结果。或者,该第一服务器还可以对发布该资源的用户进行统计,显示第二分析页面。该第二分析页面用于显示该用户在多个维度的分析结果。相应的,本步骤可以通过以下两种方式实现。

第一种方式、该第一服务器以发布该资源的用户为单位进行统计分析。则该第一服务器确定每个资源所属的用户,对于每个用户发布的资源,该第一服务器根据该资源的弹幕信息,生成该第二分析页面。其中,该用户为在该资源平台上发布该资源的用户。例如,直播平台上,该用户可以为主播。

其中,该第一服务器可以根据该用户发布的资源,统计该资源的弹幕信息数量,并确定该资源的弹幕信息中弹幕信息的信息类别。该第一服务器根据该弹幕信息中属于礼物类别的弹幕信息,统计该用户收到的礼物数量和礼物收入,并根据该弹幕信息数量、该用户的礼物收入和礼物数量,生成该用户对应的第二分析页面。在一种可能的实施方式中,对于每个资源所属的用户,该第一服务器还可以从第三方平台中获取对该用户进行访问时的访问数据,从资源平台中爬取该用户的用户信息页面,该第一服务器从该用户信息页面中提取该用户的订阅量,根据该访问数据和该订阅量,统计该用户的访问量和人气指数,并将该用户的订阅量、访问量和人气指数,添加至该第二分析页面中。

其中,该第三方平台可以为浏览应用、程序管理应用等能够动态监测观众用户的浏览记录或者浏览操作的应用,该第一服务器可以从该第三方平台上获取观众用户的浏览记录或者浏览操作,并基于该浏览记录或者浏览操作,统计多个观众用户对资源所属的用户的浏览情况,得到每个资源所属的用户的日浏览量、日访问量等数据。

进一步的,该第一服务器上还可以配置有大数据分析平台,在步骤204中,该第一服务器将原始的弹幕数据包存储至消息库后,该第一服务器实时从该消息库中拉取数据流至该大数据分析平台,该大数据分析平台上可以存储各个资源平台的鉴权协议信息和/或数据包封装格式,该大数据分析平台根据鉴权协议信息和/或数据包封装格式,对该原始的弹幕数据包进行解析,得到弹幕信息。第一服务器在该大数据分析平台上,对多个资源的弹幕信息执行上述数据分析过程,得到分析页面。另外,该第一服务器还可以将分析结果存储至数据库中,该数据库可以为db(database,数据库)、cache(cachememory,高速缓冲存储器)等。

第二种方式、该第一服务器以每个资源类别为单位进行统计分析。则该第一服务器确定每个资源所属的资源类别,对于每个资源类别,该第一服务器根据每个资源类别下的资源的弹幕信息,生成该第一分析页面。

其中,该第一服务器可以获取各个资源的资源类别,对于每种资源类别,根据该资源类别下的资源的弹幕信息,对该资源类别进行多个维度的数据分析,生成第一分析页面。其中,该第一服务器可以从资源平台的播放列表页面中提取各个资源的资源类别,也可以对各个资源进行分析、识别,得到该资源的资源类别。该资源类别可以包括游戏视频、娱乐视频、科技教育等。在一种可能的实现方式中,对于每个资源类别,该第一服务器可以基于该资源类别下的资源的弹幕信息,统计每个资源类别的弹幕信息的数据量、礼物数量、日浏览量等多个维度的分析结果,生成该资源类别对应的第一分析页面。其中,该第一服务器生成第一分析页面的过程,与上述生成第二分析页面的过程同理,此处不再赘述。

需要说明的是,在实际处理过程中,该第一服务器可以将原始的弹幕数据存储至kafka消息系统中,kafka消息系统中接收抓取弹幕服务传输的原始的弹幕数据包,然后将多个原始的弹幕数据按照队列存储方式进行存储,等待第一服务器的数据拉取。该大数据分析平台可以为spark大数据分析平台或spark-streaming大数据分析平台。在大数据分析平台上,通过实时流处理从kafka消息系统中实时拉取原始的弹幕数据包,对原始的弹幕数据包进行解析,以获取不同资源平台上弹幕数据包中的有效信息。并调用大数据分析平台上的计算资源,使用map、reduce等算子对kafka消息系统的数据进行实时计算,并计算结果存储在mysql(关系型数据库管理系统)、db等数据库中。

如图4所示,在该弹幕数据包中,原始的json格式为:{"type":"chat","time":1532656995398,"from":{"name":"ice9999999999","rid":"11190126","level":3,"plat:":"pc_web"},"id":"4b6773ed29ec467a76423d0000000000","content":"这首歌真嗨"},第一服务器通过解析这条数据,type为chat,确定该弹幕数据包中的弹幕信息的信息类别为聊天信息,当然,其他的信息类别还可以有gift(礼物)等,代表的是一条礼物的弹幕。对于其他多个资源平台,第一服务器均通过上述过程,对不同资源平台上的弹幕数据包进行解析,得到不同资源平台的弹幕信息的数量、弹幕信息中礼物信息的数量、礼物价值等。进一步的,由于弹幕信息的数据量较大,该第一服务器还可以按照处理周期,统计该处理周期内的弹幕数据,例如,第一服务器以五分钟粒度的数据统计。其中,该处理周期可以基于需要进行设置,本发明实施例对此不作具体限定。

图6为spark大数据分析平台上的分析日志,如图6所示,在spark大数据分析平台上,第一服务器可以对不同资源平台的弹幕数据包进行统计,同时结合一些第三方平台的url(uniformresourcelocator,统一资源定位符)等访问数据进行多维度分析,例如,直播平台中,从外部获取的各个主播房间的uv数据(uniquevisitor,独立访客),对直播平台以及主播各个维度的数据分析,得到该主播的订阅数、直播时长等相应的数据结论,该第一服务器还可以将数据结论写入db、cache等数据库中。

另外,该第一服务器中还可以通过将每个资源所属的用户为单位,或者以一个资源类别为单位,生成分析页面,并通过web页面展示系统,以页面图表化的方式进行展示,实时直观的显示数据分析结果。图7为分析页面的示意图,如图7所示,以一个主播的分析页面为例,基于spark-streaming大数据分析平台的实时流数据进行分析,同时结合主播房间的访问数据进行分析,最终使用web页面进行网页的展示,将分析得到的全网主播的实时弹幕数据、弹幕礼物价值、房间观看人数等展示在分析页面中。

需要说明的是,如图8所示,本发明实施例中,整体上分为四个模块,分别是资源信息获取服务、弹幕信息抓取服务、大数据实时分析平台、可视化展示系统。其中,如图9所示,该资源信息获取服务用于轮询多个资源平台上的播放列表页面,并从播放列表页面提取资源信息。该第一服务器基于该资源信息获取服务得到的资源信息,rpc远程调用弹幕信息抓取服务,从多个资源平台上抓取弹幕信息,并将抓取到的弹幕信息存储至kafka消息系统中,同时,该第一服务器还可以监控第一服务器所在的服务器集群中各个服务器节点的运行情况,对无效的第一服务器运行线程进行清理、删除等。同时,第一服务器还可以通过spark-streaming大数据分析平台,对大量的弹幕信息进行实时数据分析,并将分析结果通过可视化展示系统,在web(网页)页面上进行展示,同时,第一服务器还可以将各个分析结果存储至cache、db等数据库中。当然,第一服务器实时监控整个执行过程,检测到异常数据时,实时进行上报处理。

如图10所示,本发明实施例中,基于上述弹幕信息处理过程,整个技术架构包括五个层次,分别是底层的爬虫服务层、中间数据存储层、数据处理层、结果存储层、ui展示层。其中,爬虫服务层中,主要部署了资源信息获取服务和弹幕信息抓取服务,以直播平台为例,第一服务器通过web爬虫爬取在播主播数据,该在播主播数据包括主播id、直播房间id以及直播平台信息等;然后,第一服务器通过socket爬虫爬取弹幕信息,同时,在爬取过程中,对各个爬虫进行监控,并利用反反扒策略等,提高socket爬虫的爬取效率。在中间数据存储层中,主要是通过kafka消息系统将第二服务器拉取到的弹幕信息数据流进行队列存储。在数据处理层中,主要是通过spark-streaming大数据分析平台,对大量的弹幕信息进行实时的数据分析处理。在结果存储层中,主要是将数据分析处理得到的分析结果存储至db、cache等数据库中。在ui展示层中,主要是通过web页面展示技术,将分析结果展示在分析页面中。

为了更加清晰的描述上述弹幕信息处理的总过程,仅以图11中所示的处理里程为例进行介绍。如图11所示,以直播平台为例,网页爬虫爬取在播的直播房间数据,该房间数据包括主播id、直播房间id和直播平台的第二服务器的访问信息。当爬取到房间数据时,解析房间数据,得到访问信息,调用不同平台的弹幕服务,连接不同直播平台的第二服务器,并判断是否建立成功,当建立成功时,通过socket爬虫,监听该第二服务器上的弹幕信息,当然,如果为能成功建立长连接,第一服务器还可以通过反反扒策略、重试等方式,尝试多次与第二服务器建立长连接。如果尝试目标次数时仍未能成功建立长连接,该第一服务器可以暂时放弃某个直播房间的弹幕获取过程,等待下一次轮询。当第一服务器从第二服务器中获取弹幕信息时,将该弹幕信息协议kafka消息系统中,通过spark-streaming大数据平台,对大量的弹幕信息进行多维度的实时数据分析,将分析结果存储至db、cache等数据库,并通过web页面展示分析结果。

本发明实施例中,该第一服务器可以解析来自多个资源平台的多个资源的资源信息,得到多个第二服务器的访问信息,从而单个第一服务器能够获取到多个第二服务器的访问信息;同时,该第一服务器可以分别基于与多个第二服务器的长连接,接收该多个第二服务器主动推送的弹幕信息,最终根据该多个资源的弹幕信息,生成分析页面。由于每个第一服务器均能够从多个第二服务器拉取弹幕信息;因此,当资源数量突然变化较大时,只需调整第一服务器的数量即可,避免了某一资源平台业务突增导致单台第一服务器的不稳定的情况,提高了弹幕信息处理过程的可靠性和稳定性。

图12是本发明实施例提供的一种弹幕信息处理方法的流程图。该方法应用于第一服务器中,本发明实施例中,以直播平台为例进行说明,参见图12,该方法包括以下步骤。

1201、第一服务器获取多个直播平台的直播列表页面,从该直播列表页面中提取多个直播视频的直播房间信息。

该直播列表页面为直播平台上全量的之别列表页面,该直播列表页面上提供了该直播平台上当前正在直播的全部直播视频的播放入口。具体的,本步骤的实现过程,与上述步骤201的实现过程同理,此处不再一一赘述。

1202、第一服务器根据该多个直播平台的直播房间信息的字段含义信息,从该直播房间信息中提取访问信息。

该访问信息包括第一服务器标识和鉴权协议信息,该第一服务器标识可以为该直播平台的第二服务器的域名或者第一服务器id。该访问信息用于与直播平台的第二服务器建立长连接。另外,该第一服务器该可以从该直播房间信息中提取该直播视频的视频标识,该视频标识可以包括该直播视频的房间id和主播id。本步骤的实现过程,与上述步骤202的实现过程同理,此处不再一一赘述。

1203、第一服务器根据多个直播平台的访问信息,与多个直播平台的第二服务器分别建立长连接。

其中,对于每个直播平台上的每个直播视频,该第一服务器向该直播平台的第二服务器发送访问请求,该访问请求携带该直播视频的视频标识和鉴权协议信息。第二服务器基于该鉴权协议信息,验证第一服务器具备访问权限时,与该第一服务器建立长连接。本步骤的实现过程,与上述步骤203的实现过程同理,此处不再一一赘述。

1204、第一服务器分别基于与多个第二服务器之间的长连接,接收该多个第二服务器推送的弹幕信息。

其中,该第一服务器与多个第二服务器建立长连接后,等待接收多个第二服务器推送的弹幕信息。

1205、第一服务器将该多个弹幕信息存储至消息库中。

其中,该消息库可以为kafka消息系统,该第一服务器可以按照队列存储的方式,将弹幕信息的数据流存储至该kafka消息系统中。

其中,上述步骤1204-1205的实现过程,与上述步骤204的实现过程同理,此处不再一一赘述。

1206、第一服务器实时从该消息库中拉取弹幕信息,并根据该多个直播视频的弹幕信息,对主播进行多个维度的数据分析,得到多个维度的分析结果,并将该多个分析结果存储至数据库中。

第一服务器可以配置有大数据分析平台,该第一服务器在大数据分析平台上,对大量弹幕信息进行多个维度的数据分析。其中,本步骤中,该第一服务器接收到的弹幕信息为按照不同的数据封装格式进行封装的弹幕数据包,而该第一服务器上可以存储多个直播平台的数据封装格式对应的破解格式,该第一服务器根据多个直播平台的破解格式,对来自多个直播平台的弹幕数据包进行解析,得到弹幕信息。

当然,该第一服务器还可以从第三方平台上,获取该观众用户对主播的url访问数据,以及该主播在该直播平台上的总订阅量,统计该主播的人气指数、每日新增订阅量、每日收到的礼物数量、礼物收入等信息。

其中,该第一服务器可以将分析结果存储至db、cache等数据库中。该大数据平台可以为spark或者spark-streaming大数据平台。

1207、第一服务器根据该多个维度的分析结果,生成分析页面。

其中,该第一服务器可以通过web页面展示系统,根据多个维度的分析结果,生成分析页面。其中,上述步骤1206-1207的实现过程,与上述步骤205的实现过程同理,此处不再一一赘述。

本发明实施例中,该第一服务器可以获取到多个直播平台的第二服务器的访问信息,从而可以与多个直播平台的第二服务器建立长连接,接收多个第二服务器的弹幕信息。由于每个第一服务器均能够实现多个直播平台的弹幕信息的抓取过程,即使直播平台上直播视频数量骤增,只需增加第一服务器的总数量来承载增加的负载即可,提高了整个处理过程的稳定性和可靠性。

同时,该第一服务器还可以基于大量的弹幕信息,对各个主播进行多个维度的分析,并在分析页面中进行展示分析结果,以使用户可以直观、快速的了解主播的直播情况,丰富了信息量。

图13是本发明实施例提供的一种弹幕信息处理装置的结构示意图。参见图13,该装置应用于第一服务器中,该装置包括:解析模块1301、建立模块1302、接收模块1303、生成模块1304。

解析模块1301,用于对多个资源平台上多个资源的资源信息进行解析,得到多个第二服务器的访问信息,该多个第二服务器用于为该多个资源平台提供弹幕服务;

建立模块1302,用于基于该多个访问信息,与该多个第二服务器分别建立长连接;

接收模块1303,用于分别基于与该多个第二服务器之间的长连接,接收该多个第二服务器的多个资源的弹幕信息;

生成模块1304,用于根据该多个资源的弹幕信息,生成分析页面,该分析页面包括对该多个资源在多个维度的数据分析结果。

可选地,该解析模块1301,包括:

第一提取单元,用于当资源信息的第一字段存储有访问信息时,从第一资源平台的资源信息的第一字段中提取该第一资源平台的第二服务器的访问信息;或,

第二提取单元,用于当资源信息的目标字符串之后存储有访问信息时,从第二资源平台的资源信息的目标字符串之后提取该第二资源平台的第二服务器的访问信息。

可选地,该建立模块1302,包括:

获取单元,用于从该多个资源的资源信息中,获取多个资源的资源标识;

发送单元,用于根据该多个资源标识和该多个访问信息中的第一服务器标识,向该多个第二服务器发送访问请求,该访问请求用于请求建立长连接。

可选地,该资源平台为直播平台,该获取单元,还用于从该每个资源信息中,提取每个直播的直播房间标识和主播标识。

可选地,该发送单元,还用于采用与该多个第二服务器的反抓取方式对应的连接方式,分别向该多个第二服务器发送访问请求。

可选地,该发送单元,还用于对于限制连接频率的第二服务器,按照目标连接频率,向该限制连接频率的第二服务器发送访问请求;或,对于限制连接次数的第二服务器,当已发送的访问请求达到目标次数,延迟目标时长后,向该限制连接次数的第二服务器发送访问请求;或,对于限制连接设备的ip地址的第二服务器,获取多个代理ip地址,以该多个代理ip地址作为第一服务器地址,向该限制连接设备的ip地址的第二服务器发送访问请求。

可选地,该接收模块1303,还用于通过该长连接,接收该多个第二服务器推送的多个资源的弹幕数据包;对于每个第二服务器推送的弹幕数据包,根据该第二服务器的访问信息中鉴权协议信息,对该弹幕数据包进行解析,得到该弹幕信息。

可选地,该生成模块1304,还用于确定每个资源所属的资源类别;对于每个资源类别,根据每个资源类别下的资源的弹幕信息,生成第一分析页面。

可选地,该生成模块1304,包括:

确定单元,用于确定每个资源所属的用户,该用户为在该资源平台上发布该资源的用户;

生成单元,用于对于每个用户发布的资源,根据该资源的弹幕信息,生成第二分析页面。

可选地,该生成单元,还用于根据该用户发布的资源,统计该资源的弹幕信息数量;确定该资源的弹幕信息中弹幕信息的信息类别;根据该弹幕信息中属于礼物类别的弹幕信息,统计该用户收到的礼物数量和礼物收入;根据该弹幕信息数量、该用户的礼物收入和礼物数量,生成该第二分析页面。

可选地,该生成单元,还用于对于每个资源所属的用户,从第三方平台中获取对该用户进行访问时的访问数据,从资源平台中爬取该用户的用户信息页面;从该用户信息页面中提取该用户的订阅量;根据该访问数据和该订阅量,统计该用户的访问量和人气指数;将该用户的订阅量、访问量和人气指数,添加至该第二分析页面中。

可选地,该装置还包括:

获取模块,用于获取该多个资源平台的多个播放列表页面,该多个播放列表页面用于提供该多个资源的播放入口;

提取模块,用于从该多个播放列表页面中提取该多个资源的资源信息。

本发明实施例中,该第一服务器可以解析来自多个资源平台的多个资源的资源信息,得到多个第二服务器的访问信息,从而单个第一服务器能够获取到多个第二服务器的访问信息;同时,该第一服务器可以分别基于与该多个第二服务器的长连接,接收该多个第二服务器主动推送的弹幕信息,最终根据该多个资源的弹幕信息,生成分析页面。由于每个第一服务器均能够从第二服务器拉取弹幕信息;因此,当资源数量突然变化较大时,只需调整第一服务器的数量即可,避免了某一资源平台业务突增导致单台第一服务器的不稳定的情况,提高了弹幕信息处理过程的可靠性和稳定性。

上述所有可选技术方案,可以采用任意结合形成本公开的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的弹幕信息处理装置在处理弹幕信息时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的弹幕信息处理装置与弹幕信息处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图14是本发明实施例提供的一种服务器的结构示意图,该服务器1400可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)1401和一个或一个以上的存储器1402,其中,该存储器1402中存储有至少一条指令,该至少一条指令由该处理器1401加载并执行以实现上述各个方法实施例提供的弹幕信息处理方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

在示例性实施例中,还提供了一种计算机可读存储介质,例如包括指令的存储器,上述指令可由终端中的处理器执行以完成上述实施例中的弹幕信息处理方法。例如,该计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1