一种弹幕消息的分发方法、装置、终端和存储介质制造方法及图纸

技术编号:20370383 阅读:66 留言:0更新日期:2019-02-16 20:31
本发明专利技术实施例公开了一种弹幕消息的分发方法、装置、终端和存储介质。该方法包括:获取预设链表末尾存储的元素,作为正在运行的目标直播间的目标监听器接口对象,其中,所述预设链表为全局类型,用于存储各直播间的监听器接口对象;调用所述目标监听器接口对象的弹幕消息接收方法,将所述弹幕分发对象中的弹幕消息分发到所述目标直播间。通过采用上述技术方案,避免了在直播间切换的过程中,由于直播间的生命周期不可控而导致的将弹幕消息发送到即将销毁的页面中,提高了弹幕消息的分发效率。

A Method, Device, Terminal and Storage Medium for Distributing Ballistic Screen Messages

The embodiment of the present invention discloses a bullet screen message distribution method, device, terminal and storage medium. The method includes: acquiring the elements stored at the end of the preset list as the target listener interface object in the running target live broadcasting room, in which the preset list is of global type and is used to store the listener interface object in each live broadcasting room; calling the receiving method of the target listener interface object to distribute the ballistic message in the ballistic distribution object to the ballistic message in the ballistic distribution object. The target live studio. By adopting the above technical scheme, it avoids sending the ballistic message to the page which will be destroyed due to the uncontrollable life cycle of the live broadcasting room in the process of switching between live broadcasters, and improves the distribution efficiency of the ballistic message.

【技术实现步骤摘要】
一种弹幕消息的分发方法、装置、终端和存储介质
本专利技术实施例涉及弹幕
,尤其涉及一种弹幕消息的分发方法、装置、终端和存储介质。
技术介绍
随着网络交互平台的发展,越来越多的用户通过登录网络交互平台进行交流。其中,网络直播是非常受广大用户欢迎的应用。用户在观看直播的过程中,可以通过发送弹幕来表达自己的情感。其中,弹幕服务包括用户弹幕接收、处理和推送等重要功能。当客户端接收到弹幕服务器发送的弹幕消息后,需对弹幕消息分发到客户端正在运行的直播间中。当不同类型的直播间在切换时,前一个直播间需先执行销毁函数,后一个直播间才进行注册。但由于不同页面的生命周期是由系统控制的,其流程是不确定的,因此无法保证多个直播间之间的生命周期时序。如果不同直播间在切换时,后一个直播间先进行注册后,前一个直播间才执行销毁函数,这样就会导致弹幕库中同时存在两个直播间的引用关系。此时,弹幕消息可同时被分发到两个直播间中。如果直播间的引用关系采用的是弱引用关系,则在设定时间内垃圾回收器将会把执行销毁函数的前一个直播间的引用关系删除,而该直播间被发送弹幕消息的操作即是将弹幕消息发送到了不该发送的页面。这是在弹幕分发过程中不期望看到的。
技术实现思路
本专利技术实施例提供一种弹幕消息的分发方法、装置、终端和存储介质,以提高弹幕消息的分发效率。第一方面,本专利技术实施例提供了一种弹幕消息的分发方法,该方法包括:获取预设链表末尾存储的元素,作为正在运行的目标直播间的目标监听器接口对象,其中,所述预设链表为全局类型,用于在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾;调用所述目标监听器接口对象的弹幕消息接收方法,将弹幕消息分发到所述目标直播间。进一步的,所述预设链表为单链表;相应的,所述在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾包括:在获取预设链表末尾存储的元素之前,对于任意一个直播间,当直播间启动时,在所述直播间对应的类的创建函数中,获取预设弹幕分发类的弹幕分发对象;通过调用所述弹幕分发对象的引用关系添加方法,将完成初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾,以建立所述直播间与所述弹幕分发对象之间的引用关系。进一步的,调用所述弹幕分发对象的引用关系添加方法,通过如下步骤来实现将完成初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾的功能:调用所述单链表的元素判断方法,判断所述单链表中是否包含所述初始化后的监听器接口对象;如果不包含所述初始化后的监听器接口对象,则以所述初始化后的所述直播间的监听器接口对象为参数,通过调用所述单链表的元素添加方法,将所述初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾。进一步的,所述监听器接口对象通过调用预设监听器接口协议的实现类的构造函数完成初始化,所述实现类通过关键字implements继承自所述预设监听器接口协议。进一步的,所述方法还包括:当检测到所述直播间的页面销毁时,在所述直播间对应类的销毁函数中,调用所述弹幕分发对象的引用关系移除函数,以删除所述引用关系。进一步的,调用引用关系移除函数,通过如下步骤来实现删除所述引用关系的功能:当监听器接口对象为非空对象时,调用所述单链表的元素判断方法,判断所述单链表中是否包含所述监听器接口对象;如果包含所述监听器接口对象,则通过调用所述单链表的元素移除方法,以删除所述引用关系。进一步的,获取预设链表末尾存储的元素,包括:调用预设链表的长度获取函数,以获取所述预设链表中的元素个数;将所述元素个数减一后的值作为参数,调用预设链表中的元素获取方法,获取所述预设链表中存储的最后一个元素。第二方面,本专利技术实施例还提供了一种弹幕消息的分发装置,该装置包括:目标监听器接口对象获取模块,用于获取预设链表末尾存储的元素,作为正在运行的目标直播间的目标监听器接口对象,其中,所述预设链表为全局类型,用于在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾;弹幕消息分发模块,用于调用所述目标监听器接口对象的弹幕消息接收方法,将弹幕消息分发到所述目标直播间。进一步的,所述预设链表为单链表;相应的,所述装置还包括:弹幕分发对象获取模块,用于在获取预设链表末尾存储的元素之前,对于任意一个直播间,当检测到直播间启动时,在所述直播间对应的类的创建函数中,获取预设弹幕分发类的弹幕分发对象;引用关系建立模块,用于通过调用所述弹幕分发对象的引用关系添加方法,将完成初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾,以建立所述直播间与所述弹幕分发对象之间的引用关系。进一步的,所述引用关系建立模块具体用于:调用所述单链表的元素判断方法,判断所述单链表中是否包含所述初始化后的监听器接口对象;如果不包含所述初始化后的监听器接口对象,则以所述初始化后的所述直播间的监听器接口对象为参数,通过调用所述单链表的元素添加方法,将所述初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾,以建立所述直播间与所述弹幕分发对象之间的引用关系。进一步的,所述监听器接口对象通过调用预设监听器接口协议的实现类的构造函数完成初始化,所述实现类通过关键字implements继承自所述预设监听器接口协议。进一步的,所述装置还包括:引用关系删除模块,用于当检测到所述直播间的页面销毁时,在所述直播间对应类的销毁函数中,调用所述弹幕分发对象的引用关系移除函数,以删除所述引用关系。进一步的,所述引用关系删除模块具体用于:当监听器接口对象为非空对象时,调用所述单链表的元素判断方法,判断所述单链表中是否包含所述监听器接口对象;如果包含所述监听器接口对象,则通过调用所述单链表的元素移除方法,以删除所述引用关系。进一步的,所述目标监听器接口对象获取模块具体用于:调用预设链表的长度获取函数,以获取所述预设链表中的元素个数;将所述元素个数减一后的值作为参数,调用预设链表中的元素获取方法,获取所述预设链表中存储的最后一个元素。第三方面,本专利技术实施例还提供了一种终端,所述终端包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的弹幕消息的分发方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本专利技术任意实施例所提供的弹幕消息的分发方法。本专利技术实施例在直播间启动时,将该直播间的监听器接口对象存入预设链表的末尾。在弹幕分发过程中,通过获取预设链表末尾存储的元素,可将其作为正在运行的目标直播间的目标监听器接口对象。通过调用目标监听器接口对象的弹幕接收方法,可将弹幕分发类中的弹幕消息发送到目标直播间,避免了在直播间切换的过程中,由于直播间的生命周期不可控而导致的将弹幕消息发送到即将销毁的页面中,提高了弹幕消息的分发效率。附图说明图1为本专利技术实施例一提供的一种弹幕消息的分发方法的流程图;图2为本专利技术实施例二提供的一种弹幕消息的分发方法的流程图;图3为本专利技术实施例三提供的一种弹幕消息的分发装置的结构框图;图4为本专利技术实施例四提供的一种终端的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此本文档来自技高网...

【技术保护点】
1.一种弹幕消息的分发方法,其特征在于,包括:获取预设链表末尾存储的元素,作为正在运行的目标直播间的目标监听器接口对象,其中,所述预设链表为全局类型,用于在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾;调用所述目标监听器接口对象的弹幕消息接收方法,将弹幕消息分发到所述目标直播间。

【技术特征摘要】
1.一种弹幕消息的分发方法,其特征在于,包括:获取预设链表末尾存储的元素,作为正在运行的目标直播间的目标监听器接口对象,其中,所述预设链表为全局类型,用于在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾;调用所述目标监听器接口对象的弹幕消息接收方法,将弹幕消息分发到所述目标直播间。2.根据权利要求1所述的方法,其特征在于,所述预设链表为单链表;相应的,所述在直播间在启动时将直播间的监听器接口对象存入所述预设链表的末尾包括:在获取预设链表末尾存储的元素之前,对于任意一个直播间,当直播间启动时,在所述直播间对应的类的创建函数中,获取预设弹幕分发类的弹幕分发对象;通过调用所述弹幕分发对象的引用关系添加方法,将完成初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾,以建立所述直播间与所述弹幕分发对象之间的引用关系。3.根据权利要求2所述的方法,其特征在于,调用所述弹幕分发对象的引用关系添加方法,通过如下步骤来实现将完成初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾的功能:调用所述单链表的元素判断方法,判断所述单链表中是否包含所述初始化后的监听器接口对象;如果不包含所述初始化后的监听器接口对象,则以所述初始化后的所述直播间的监听器接口对象为参数,通过调用所述单链表的元素添加方法,将所述初始化后的所述直播间的监听器接口对象添加到所述单链表的末尾。4.根据权利要求2所述的方法,其特征在于,所述监听器接口对象通过调用预设监听器接口协议的实现类的构造函数完成初始化,所述实现类通过关键字implements继承自所述预设监听器接口协议。5.根据权利要求2...

【专利技术属性】
技术研发人员:张磊
申请(专利权)人:武汉斗鱼网络科技有限公司
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1