弹幕消息传输方法、装置、设备与存储介质制造方法及图纸

技术编号:19704479 阅读:27 留言:0更新日期:2018-12-08 14:53
本发明专利技术实施例公开了一种弹幕消息传输方法、装置、设备与存储介质。该方法包括:弹幕接收对象依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将目标弹幕消息传输至转发协议对象;转发协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发判断目标弹幕分发对象是否初始化;若否,则广播发布对象依据目标弹幕分发对象的目标对象信息及目标弹幕消息,构建广播意图对象,并将广播意图对象进行广播;广播接收对象接收广播意图对象,并将广播意图对象中的目标弹幕消息发送至目标弹幕分发对象。通过上述技术方案,实现了弹幕消息在弹幕接收模块与弹幕分发模块之间的快速传输,提高了弹幕消息传输的时效性。

【技术实现步骤摘要】
弹幕消息传输方法、装置、设备与存储介质
本专利技术实施例涉及信息传输技术,尤其涉及一种弹幕消息传输方法、装置、设备与存储介质。
技术介绍
在诸如斗鱼的音视频播放/直播应用软件中,会大量使用弹幕消息。通常,弹幕消息是由传输及处理弹幕消息的服务器(即弹幕服务器)发送至应用软件中接收弹幕消息的弹幕接收模块,并由弹幕接收模块进一步发送至分发弹幕消息的弹幕分发模块。其中,弹幕接收模块与弹幕分发模块之间的信息交互,是基于两个功能模块各自提供的交互接口来实现的。但是,上述基于功能模块交互接口的交互方式,需要建立两个功能模块之间的依赖关系,这使得两个功能模块之间的耦合性较强,不利于功能模块的独立开发,且会造成弹幕消息的传输时效性低。另外,如果弹幕分发模块中的弹幕分发对象未被初始化,则上述交互方式便无法进行弹幕消息的传输。
技术实现思路
本专利技术实施例提供一种弹幕消息传输方法、装置、设备与存储介质,以实现弹幕消息在弹幕接收模块与弹幕分发模块之间的快速传输,提高弹幕消息传输的时效性。第一方面,本专利技术实施例提供了一种弹幕消息传输方法,包括:弹幕接收对象依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将目标弹幕消息传输至转发协议对象,其中,转发协议对象是数据转发对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数;转发协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发判断目标弹幕分发对象是否初始化;若否,则广播发布对象依据目标弹幕分发对象的目标对象信息及目标弹幕消息,构建广播意图对象,并将广播意图对象进行广播;广播接收对象接收广播意图对象,并将广播意图对象中的目标弹幕消息发送至目标弹幕分发对象,以使目标弹幕分发对象获得目标弹幕消息。第二方面,本专利技术实施例还提供了一种弹幕消息传输装置,该装置包括:弹幕接收模块,数据转发模块,广播发布模块和广播接收模块;弹幕接收模块,用于依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将目标弹幕消息传输至转发协议对象,其中,转发协议对象是数据转发对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数;数据转发模块,用于回调第一弹幕传输函数,获得目标弹幕消息,并触发判断目标弹幕分发对象是否初始化;广播发布模块,用于若目标弹幕分发对象未初始化,则依据目标弹幕分发对象的目标对象信息及目标弹幕消息,构建广播意图对象,并将广播意图对象进行广播;广播接收模块,用于接收广播意图对象,并将广播意图对象中的目标弹幕消息发送至目标弹幕分发对象,以使目标弹幕分发对象获得目标弹幕消息。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现本专利技术任意实施例所提供的弹幕消息传输方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的弹幕消息传输方法。本专利技术实施例通过在弹幕接收对象和弹幕分发对象之间设置一个数据转发对象,以实现弹幕消息在两个独立模块之间的传输,解除了弹幕接收模块和弹幕分发模块之间的耦合关系,降低程序开发难度。通过弹幕接收对象预先获得转发协议对象,建立了弹幕接收对象与数据转发对象之间的数据传输通道,并基于作为回调函数的第一弹幕传输函数,将弹幕接收对象从弹幕服务器接收的目标弹幕消息传输至数据转发对象。通过在转发协议对象的第一弹幕传输函数中触发判断目标弹幕分发对象是否初始化,并在其未初始化时利用广播通道进行目标弹幕消息的传输,使得数据转发对象在其获得目标弹幕的同时,根据目标弹幕分发对象的初始化状态,确定出数据转发对象将目标弹幕消息传输至目标弹幕分发对象的通道,从而及时地将目标弹幕消息传输至目标弹幕分发对象,提高了弹幕消息传输的成功率及时效性。附图说明图1是本专利技术实施例一中的一种弹幕消息传输方法的流程图;图2是本专利技术实施例二中的一种弹幕消息传输方法的流程图;图3是本专利技术实施例三中的一种弹幕消息传输方法的流程图;图4是本专利技术实施例四中的一种弹幕消息传输装置的结构示意图;图5是本专利技术实施例五中的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一本实施例提供的弹幕消息传输方法可适用于Android客户端中的音视频播放/直播应用软件,将弹幕接收模块接收到的弹幕消息传输至弹幕分发模块。该方法可以由弹幕消息传输装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有适配于Android系统的音视频播放/直播应用软件的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图1,本实施例的方法具体包括如下步骤:S110、弹幕接收对象依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将目标弹幕消息传输至转发协议对象。其中,弹幕接收对象是指用于接收从弹幕服务器发送而来的弹幕消息的弹幕接收模块中的对象。弹幕接收模块中为实现弹幕消息接收操作而定义了弹幕接收类,而弹幕接收对象则是弹幕接收类的一个实例,其是弹幕消息接收操作的具体执行者。目标弹幕消息是指等待由弹幕接收对象传输至目标弹幕分发对象的弹幕消息。这里,弹幕分发对象是指用于进行弹幕消息分发的弹幕分发模块中的对象,该弹幕分发模块中为实现弹幕消息分发操作而定义了弹幕分发类,而弹幕分发对象则是弹幕分发类的一个实例,其是弹幕消息分发操作的具体执行者。目标弹幕分发对象则是指分发目标弹幕消息的弹幕分发对象。转发协议对象是数据转发对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数。这里,数据转发对象是指用于进行数据中转的模块中的对象,该数据中转模块中为实现数据中转操作而定义了数据转发类classDataDistribution,而数据转发对象则是数据转发类的一个实例,其是弹幕消息转发操作的实际执行者。第一弹幕传输协议是预先定义的、用于进行弹幕消息传输的组件间的通信协议,其包含用于实现弹幕消息传输操作的协议内部函数——第一弹幕传输函数。当数据转发对象通过Java语言中规定的进行接口协议继承的关键字implements继承了第一弹幕传输协议之后,其便具有了第一弹幕传输协议的通信功能,也会复写并实现其协议内部函数,这样数据转发对象也具有了第一弹幕传输函数,其同时为数据转发对象和转发器协议对象。例如,第一弹幕传输协议的代码实现可以为:publicinterfaceIDanmuProtocl{onReceiveMsg(Stringtype,Stringinfo);}。其中,public为公有权限修饰符,这样其他类和对象也可访问该第一弹幕消息传输协议IDanmuProtocl。interface为接口类型限定符,其表明第一弹幕消息传输协议IDanmuProtocl为接口实现机制,便于其他类的多态继承。Stringtype和Stringinfo分别为第一弹本文档来自技高网...

【技术保护点】
1.一种弹幕消息传输方法,其特征在于,包括:弹幕接收对象依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发协议对象,其中,所述转发协议对象是数据转发对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;所述转发协议对象回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发判断目标弹幕分发对象是否初始化;若否,则广播发布对象依据所述目标弹幕分发对象的目标对象信息及所述目标弹幕消息,构建广播意图对象,并将所述广播意图对象进行广播;广播接收对象接收所述广播意图对象,并将所述广播意图对象中的所述目标弹幕消息发送至所述目标弹幕分发对象,以使所述目标弹幕分发对象获得所述目标弹幕消息。

【技术特征摘要】
1.一种弹幕消息传输方法,其特征在于,包括:弹幕接收对象依据目标弹幕消息,通过预先获得的转发协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发协议对象,其中,所述转发协议对象是数据转发对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;所述转发协议对象回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发判断目标弹幕分发对象是否初始化;若否,则广播发布对象依据所述目标弹幕分发对象的目标对象信息及所述目标弹幕消息,构建广播意图对象,并将所述广播意图对象进行广播;广播接收对象接收所述广播意图对象,并将所述广播意图对象中的所述目标弹幕消息发送至所述目标弹幕分发对象,以使所述目标弹幕分发对象获得所述目标弹幕消息。2.根据权利要求1的方法,其特征在于,所述广播发布对象依据所述目标弹幕分发对象的目标对象信息及所述目标弹幕消息,构建广播意图对象包括:所述广播发布对象依据所述目标对象信息确定广播发送动作描述,并以所述广播发送动作描述为函数输入参数,调用预先构建的初始意图对象的广播动作设置函数,为所述初始意图对象设置动作描述,获得中间意图对象,其中,对象信息包含对象包名和对象类名;所述广播发布对象依据所述目标弹幕消息,调用预先构建的初始数据包裹器对象的数据存储函数,将所述目标弹幕消息存储至所述初始数据包裹器对象,获得目标数据包裹器对象;所述广播发布对象以所述目标数据包裹器对象为函数输入参数,调用所述中间意图对象的数据包设置函数,将所述目标数据包裹器对象存储至所述中间意图对象,获得所述广播意图对象。3.根据权利要求2的方法,其特征在于,所述广播接收对象将所述广播意图对象中的所述目标弹幕消息发送至所述目标弹幕分发对象包括:所述广播接收对象在所述目标弹幕分发对象未初始化时,调用初始化函数初始化所述目标弹幕分发对象;所述广播接收对象通过所述广播意图对象,调用数据包获取函数,获得所述目标数据包裹器对象;所述广播接收对象调用所述目标数据包裹器对象的数据获取函数,获取所述目标弹幕消息,并将所述目标弹幕消息发送至所述目标弹幕分发对象。4.根据权利要求1的方法,其特征在于,在所述广播接收对象接收所述广播意图对象之前,还包括:在广播接收对象对应的广播接收类为弹幕分发对象对应的弹幕分发类的内部类时,广播注册对象依据所述目标对象信息确定广播接收动作描述;所述广播注册对象依据所述目标对象信息、内部类标识及内部类信息确定广播接收对象描述;所述广播注册对象依据所述广播接收对象描述和所述广播接收动作描述,采用静态注册方式注册系统广播接收器,获得所述广播接收对象。5.根据权利要求1的方法,其特征在于,在所述广播接收对象接收所述广播意图对象之前,还包括:在广播接收对象对应的广播接收类为与弹幕分发对象同处一个功能模块的独立类时,广播注册对象依据功能模块中的各个弹幕分发对象的对象信息,确定各个广播接收动作描述;所述广播注册对象依据独立类信息确定广播接收对象描述;所述广播注册对象依据所述广播接收对象描述和各...

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

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

1