logo好方法网

一种弹幕消息处理方法、系统、计算设备及存储介质


技术摘要:
本发明公开了一种弹幕消息处理方法,在网络服务器中执行,网络服务器与缓存服务器通信连接,缓存服务器适于缓存客户端发送的弹幕消息,方法包括:响应于直播房间的创建请求,为直播房间分配本地缓存;按照预定周期从缓存服务器同步弹幕消息至直播房间对应的本地缓存;  全部
背景技术:
弹幕是指在网络上观看视频时弹出的评论性字幕,弹幕在各类视频网站和直播平 台中使用广泛。而高并发实时弹幕是一种互动的体验,能够增加直播的趣味性以及增强观 看者和直播人员的互动性。一个用户发送一条弹幕消息要即时分发给直播间内的所有用 户,此过程中包括了弹幕消息分发和弹幕消息获取的过程。 目前多采用如下方式实现弹幕消息的分发和弹幕消息的获取:客户端调用网络服 务器的发送接口发送消息,网络服务器响应客户端发送弹幕消息请求,接收弹幕消息并保 存至缓存服务器;客户端通过直播房间的房间号定时向网络服务器调用获取接口,网络服 务器响应客户端调用获取消息接口的请求,通过直播房间的房间号从缓存服务器中获取直 播房间的房间号对应的弹幕消息,并返回至客户端。但是,目前弹幕消息的分发和弹幕消息 获取方法,系统响应速度慢,导致用户体验差。
技术实现要素:
为此,本发明提供了一种弹幕消息处理方法、系统、计算设备及存储介质,以力图 解决或者至少缓解上面存在的至少一个问题。 根据本发明的一个方面,提供了一种弹幕消息处理方法,在网络服务器中执行,网 络服务器与缓存服务器通信连接,缓存服务器适于缓存客户端发送的弹幕消息,所述方法 包括: 响应于直播房间的创建请求,为直播房间分配本地缓存; 按照预定周期从缓存服务器同步弹幕消息至直播房间对应的本地缓存; 响应于客户端获取弹幕消息请求,从本地缓存中获取弹幕消息返回至客户端。 可选地,在根据本发明的弹幕消息处理方法中,还包括: 接收客户端发送的弹幕消息,将所接收的弹幕消息存储到缓存服务器中。 可选地,在根据本发明的弹幕消息处理方法中,弹幕消息采用以房间号、消息级别 和消息标识(消息id)为键、以消息内容为值的键-值方式,存储在缓存服务器中。 可选地,在根据本发明的弹幕消息处理方法中,缓存服务器还适于存储热点房间 列表,热点房间列表中的直播房间为在最近的预定时间内接收到弹幕消息的直播房间。 可选地,在根据本发明的弹幕消息处理方法中,按照预定周期从缓存服务器同步 弹幕消息至直播房间对应的本地缓存,包括: 当预定周期到达时,判断直播房间是否存在于热点房间列表中; 若直播房间存在于热点房间列表中,则从缓存服务器中获取直播房间的弹幕消 息,将获取的弹幕消息存储至直播房间对应的本地缓存。 4 CN 111586437 A 说 明 书 2/12 页 可选地,在根据本发明的弹幕消息处理方法中,从缓存服务器中获取直播房间的 弹幕消息,包括: 从缓存服务器中获取消息标识大于本地缓存中消息标识的一条或多条弹幕消息。 可选地,在根据本发明的弹幕消息处理方法中,按照消息级别从高到低的顺序来 从缓存服务器中获取消息标识大于本地缓存中消息标识的一条或多条弹幕消息。 可选地,在根据本发明的弹幕消息处理方法中,获取弹幕消息请求包括直播房间 号、各等级弹幕消息的最大消息id标识,响应于客户端获取弹幕消息请求,从本地缓存中获 取弹幕消息返回至客户端,包括: 根据直播房间号确定直播房间; 根据客户端发送的获取弹幕消息请求,判断客户端发送的各等级弹幕消息的最大 消息id标识与直播房间对应的本地缓存中各等级弹幕消息的最大消息标识id的大小,若所 述客户端发送的各等级弹幕消息的最大消息标识id小于直播房间对应的本地缓存中各等 级弹幕消息的最大消息标识id,则从直播房间对应的本地缓存中获取有效弹幕消息,有效 弹幕消息为客户端发送的各等级弹幕消息的最大消息标识id与直播房间对应的本地缓存 中各等级弹幕消息的最大消息标识id差值之间的弹幕消息; 将有效弹幕消息进行排序; 返回排序后的有效弹幕消息和各等级弹幕消息的最大消息标识id至客户端。 可选地,在根据本发明的弹幕消息处理方法中,还包括: 直播结束时,删除直播房间对应的本地缓存。 可选地,在根据本发明的弹幕消息处理方法中,本地缓存采用java进程内缓存框 架Ehcache。 根据本发明的另一个方面,提供了一种弹幕消息处理装置,装置包括: 分配单元,用于响应于直播房间的创建请求,为直播房间分配本地缓存; 同步单元,用于按照预定周期从缓存服务器同步弹幕消息至直播房间对应的本地 缓存; 返回单元,用于响应于客户端获取弹幕消息请求,从本地缓存中获取弹幕消息返 回至客户端。 可选地,在根据本发明的弹幕消息处理装置中,装置还包括: 接收单元,用于接收客户端发送的弹幕消息,将所接收的弹幕消息存储到缓存服 务器中。 可选地,在根据本发明的弹幕消息处理装置中,弹幕消息采用以房间号、消息级别 和消息id为键、以消息内容为值的键-值方式,存储在缓存服务器中。 可选地,在根据本发明的弹幕消息处理装置中,缓存服务器还适于存储热点房间 列表,热点房间列表中的直播房间为在最近的预定时间内接收到弹幕消息的直播房间。 可选地,在根据本发明的弹幕消息处理装置中,同步单元采用如下方式按照预定 周期从所述缓存服务器同步弹幕消息至所述直播房间对应的本地缓存: 当预定周期到达时,判断直播房间是否存在于热点房间列表中; 若直播房间存在于所述热点房间列表中,则从缓存服务器中获取直播房间的弹幕 消息,将获取的弹幕消息存储至直播房间对应的本地缓存。 5 CN 111586437 A 说 明 书 3/12 页 可选地,在根据本发明的弹幕消息处理装置中,同步单元采用如下方式述从缓存 服务器中获取直播房间的弹幕消息: 从缓存服务器中获取消息id大于本地缓存中消息id的一条或多条弹幕消息。 可选地,在根据本发明的弹幕消息处理装置中,按照消息级别从高到低的顺序来 从缓存服务器中获取消息id大于本地缓存中消息id的一条或多条弹幕消息。 可选地,在根据本发明的弹幕消息处理装置中,获取弹幕消息请求包括直播房间 号、各等级弹幕消息的最大消息id,返回单元采用如下方式响应于客户端获取弹幕消息请 求,从本地缓存中获取弹幕消息返回至客户端: 根据直播房间号确定直播房间; 根据客户端发送的获取弹幕消息请求,判断客户端发送的各等级弹幕消息的最大 消息id与直播房间对应的本地缓存中各等级弹幕消息的最大消息id的大小,若客户端发送 的各等级弹幕消息的最大消息id小于直播房间对应的本地缓存中各等级弹幕消息的最大 消息id,则从直播房间对应的本地缓存中获取有效弹幕消息,有效弹幕消息为客户端发送 的各等级弹幕消息的最大消息id与直播房间对应的本地缓存中各等级弹幕消息的最大消 息id差值之间的弹幕消息; 将有效弹幕消息进行排序; 返回排序后的有效弹幕消息和各等级弹幕消息的最大消息id至客户端。 可选地,在根据本发明的弹幕消息处理装置中,所述装置还包括删除单元: 直播结束时,删除单元用于删除直播房间对应的本地缓存。 可选地,在根据本发明的弹幕消息处理装置中,本地缓存采用java进程内缓存框 架Ehcache。 根据本发明的另一个方面,提供了一种弹幕消息处理系统,系统包括:网络服务 器、缓存服务器以及客户端,客户端与网络服务器通信连接,网络服务器与缓存服务器通信 连接; 客户端适于通过网络服务器的消息分发接口请求发送弹幕消息; 网络服务器适于响应客户端发送弹幕消息请求,将客户端发送的弹幕消息保存至 缓存服务器,并将缓存服务器中的弹幕消息同步至与直播房间对应的本地缓存; 客户端还适于通过网络服务器的获取消息接口请求获取弹幕消息; 网络服务器还适于响应客户端获取弹幕消息请求,将本地缓存中的弹幕消息返回 至客户端。 根据本发明的又一个方面,提供了一种计算设备,包括至少一个处理器;以及存储 器,存储有程序指令,其中程序指令被配置为适于由至少一个处理器执行,程序指令包括用 于执行根据本发明的弹幕消息处理方法的指令。 根据本发明的又一个方面,提供了一种存储有程序指令的可读存储介质,当该程 序指令被计算设备读取并执行时,使得计算设备执行本发明的弹幕消息处理方法。 根据本发明的技术方案,网络服务器响应于直播房间的创建请求,为直播房间分 配本地缓存,并按照预定周期从缓存服务器同步弹幕消息至直播房间对应的本地缓存。接 下来网络服务器响应客户端获取弹幕消息请求,从本地缓存中获取弹幕消息返回至客户 端。上述方案在网络服务器中为每个直播房间创建一个本地缓存,当客户端请求获取弹幕 6 CN 111586437 A 说 明 书 4/12 页 消息时,网络服务器不是从缓存服务器获取弹幕消息,而是直接从本地缓存中获取弹幕消 息,减少了连接缓存服务器带来的网络开销,同时减少了缓存服务器的请求量,极大提高了 缓存服务器接口的响应速度,能够支持大量在线用户的分发或接收弹幕消息任务。 附图说明 为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方 面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面 旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述 以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的 部件或元素。 图1示出了根据本发明的一个实施例的弹幕消息处理系统100的示意图; 图2示出了根据本发明的一个实施例的计算设备200的示意图; 图3示出了根据本发明的一个实施例的弹幕消息处理方法300的流程图; 图4示出了根据本发明的一个实施例的弹幕消息处理装置400的示意图。
下载此资料需消耗2积分,
分享到:
收藏