CN109218841B - 弹幕消息传输方法、装置、设备与存储介质 - Google Patents

弹幕消息传输方法、装置、设备与存储介质 Download PDF

Info

Publication number
CN109218841B
CN109218841B CN201810940524.7A CN201810940524A CN109218841B CN 109218841 B CN109218841 B CN 109218841B CN 201810940524 A CN201810940524 A CN 201810940524A CN 109218841 B CN109218841 B CN 109218841B
Authority
CN
China
Prior art keywords
bullet screen
protocol
distributor
function
transmission
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.)
Active
Application number
CN201810940524.7A
Other languages
English (en)
Other versions
CN109218841A (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.)
Wuhan Douyu Network 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 CN201810940524.7A priority Critical patent/CN109218841B/zh
Publication of CN109218841A publication Critical patent/CN109218841A/zh
Application granted granted Critical
Publication of CN109218841B publication Critical patent/CN109218841B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4788Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • 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/254Management at additional data server, e.g. shopping server, rights management server
    • 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/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • H04N21/8173End-user applications, e.g. Web browser, game

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例公开了一种弹幕消息传输方法、装置、设备与存储介质。该方法包括:弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至转发器协议对象;转发器协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发依据目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至分发器协议对象;分发器协议对象回调第二弹幕传输函数,获得目标弹幕消息。通过上述技术方案,实现了弹幕消息在弹幕接收模块与弹幕分发模块之间的快速传输,提高了弹幕消息传递的时效性。

Description

弹幕消息传输方法、装置、设备与存储介质
技术领域
本发明实施例涉及计算机技术,尤其涉及一种弹幕消息传输方法、装置、设备与存储介质。
背景技术
在诸如斗鱼的音视频播放/直播应用软件中,会大量使用弹幕消息。通常,弹幕消息是由传输及处理弹幕消息的服务器(即弹幕服务器)发送至应用软件中接收弹幕消息的弹幕接收模块,并由弹幕接收模块进一步发送至分发弹幕消息的弹幕分发模块。其中,弹幕接收模块与弹幕分发模块之间的信息交互,是基于两个功能模块各自提供的交互接口来实现的。
但是,上述基于功能模块交互接口的交互方式,需要建立两个功能模块之间的依赖关系,这使得两个功能模块之间的耦合性较强,不利于功能模块的独立开发,且会造成弹幕消息的传输时效性低。
发明内容
本发明实施例提供一种弹幕消息传输方法、装置、设备与存储介质,以实现弹幕消息在弹幕接收模块与弹幕分发模块之间的快速传输,提高弹幕消息传输的时效性。
第一方面,本发明实施例提供了一种弹幕消息传输方法,包括:
弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;
所述转发器协议对象回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发依据所述目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,所述第二弹幕传输协议包含所述第二弹幕传输函数;
所述分发器协议对象回调所述第二弹幕传输函数,获得所述目标弹幕消息。
第二方面,本发明实施例还提供了一种弹幕消息传输装置,该装置包括:
弹幕接收器、数据转发器和弹幕分发器;
所述弹幕接收器,用于依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;
所述数据转发器,用于回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发依据所述目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象,其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,所述第二弹幕传输协议包含所述第二弹幕传输函数;
所述弹幕分发器,用于回调所述第二弹幕传输函数,获得所述目标弹幕消息。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的弹幕消息传输方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的弹幕消息传输方法。
本发明实施例通过在弹幕接收器和弹幕分发器之间设置一个数据转发器,以实现弹幕消息在两个独立模块之间的传输,解除了弹幕接收模块和弹幕分发模块之间的耦合关系,降低程序开发难度。通过弹幕接收器对象预先获得转发器协议对象,建立了弹幕接收器与数据转发器之间的数据传输通道,并基于作为回调函数的第一弹幕传输函数,将弹幕接收器对象从弹幕服务器接收的目标弹幕消息传输至数据转发器对象。通过转发器协议对象预先获得分发器协议对象,建立了数据转发器与弹幕分发器之间的数据传输通道。通过在第一弹幕传输函数中触发作为回调函数的第二弹幕传输函数,使得数据转发器在其获得目标弹幕的同时,将获得的目标弹幕消息传输至弹幕分发器,提高了弹幕消息传输的时效性。
附图说明
图1是本发明实施例一中的一种弹幕消息传输方法的流程图;
图2是本发明实施例二中的一种弹幕消息传输方法中传输通道的构建方法的流程图;
图3是本发明实施例三中的一种弹幕消息传输装置的结构示意图;
图4是本发明实施例四中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的弹幕消息传输方法,可适用于Android客户端中的音视频播放/直播应用软件,将弹幕接收器接收到的弹幕消息传输至弹幕分发模块。该方法可以由弹幕消息传输装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有音视频播放/直播应用软件的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图1,本实施例的方法具体包括如下步骤:
S110、弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象。
其中,弹幕接收器是指用于接收从弹幕服务器发送而来的弹幕消息的弹幕接收模块,该模块中为实现弹幕消息接收操作而定义了弹幕接收器类,而弹幕接收器对象则是弹幕接收器类的一个实例,其是弹幕消息接收操作的具体执行者。目标弹幕消息是指等待由弹幕接收器传输至弹幕分发器的弹幕消息。这里,弹幕分发器是指用于进行弹幕消息分发的弹幕分发模块,该模块中为实现弹幕消息分发操作而定义了弹幕分发器类,而弹幕分发器对象则是弹幕分发器类的一个实例,其是弹幕消息分发操作的具体执行者。
转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数。这里,数据转发器是指用于进行数据中转的模块,该模块中为实现数据中转操作而定义了数据转发器类class DataDistribution,而数据转发器对象则是数据转发器类的一个实例,其是弹幕消息转发操作的实际执行者。第一弹幕传输协议是预先定义的、用于进行弹幕消息传输的组件间的通信协议,其包含用于实现弹幕消息传输操作的协议内部函数——第一弹幕传输函数。当数据转发器对象通过Java语言中规定的进行接口协议继承的关键字implements继承了第一弹幕传输协议之后,其便具有了第一弹幕传输协议的通信功能,也会复写并实现其协议内部函数,这样数据转发器对象也具有了第一弹幕传输函数,其同时为数据转发器对象和转发器协议对象。例如,第一弹幕传输协议的代码实现可以为:
public interface IDanmuProtocl{
onReceiveMsg(String type,String info);
}。
其中,public为公有权项修饰符,这样其他类也就具有了访问该第一弹幕消息传输协议IDanmuProtocl的权限。interface为接口类型限定符,其表明第一弹幕消息传输协议IDanmuProtocl为接口实现机制,便于其他类的多态继承。String type和String info分别为第一弹幕传输函数onReceiveMsg的函数输入参数,该函数输入参数包括字符串String类型的弹幕消息标识type和字符串String类型的弹幕消息体信息info。弹幕消息标识是指能够标识弹幕消息的字符,其可以是数字、字母、符号及上述各种字符的任意组合,该弹幕消息标识应当是一条弹幕消息的唯一的、全局的标识。弹幕消息体信息是指弹幕消息的承载者,其内包含具体的弹幕消息内容。
具体地,弹幕接收器对象从弹幕服务器接收目标弹幕消息。然后,弹幕接收器对象根据第一弹幕传输函数的函数输入参数形式,解析目标弹幕消息,获得解析结果。之后,弹幕接收器对象以解析结果作为函数输入参数,通过预先获得的转发器协议对象,调用其继承而来的第一弹幕传输函数,即DataDistribution.onReceiveMsg(String type,Stringinfo),以便将目标弹幕消息传输至转发器协议对象。这里的第一弹幕传输函数设计为一个回调函数,上述弹幕接收器对象中的调用操作仅是通过第一弹幕传输函数的函数指针,将目标弹幕消息由转发器协议对象提供的接口传输至转发器协议对象,并自动触发第一弹幕传输函数体的执行,也就是触发S120的执行。
上述过程中,弹幕接收器对象是在S110的执行之前,预先获取转发器协议对象的,获取的方式可以是通过弹幕接收器对象和数据转发器对象提供的交互接口,也可以是通过函数调用方式,将相应的对象作为函数参数进行传输。
还需说明的是,弹幕接收器对象从弹幕服务器中接收目标弹幕消息的方式可以是Android客户端中的音视频播放/直播应用软件向弹幕服务器发送数据获取请求,弹幕服务器被动响应数据获取请求来获取;优选是通过Android客户端中预先建立的弹幕监听器接口对象及弹幕监听器接口对象中作为回调函数的消息传输函数,接收弹幕服务器中的弹幕库对象回调消息传输函数发送的弹幕消息,其中,弹幕监听器接口对象用于监听弹幕服务器中的弹幕库对象。也就是说,Android客户端从弹幕服务器获取弹幕消息是通过在Android客户端中设置弹幕监听器接口对象,对弹幕服务器中的弹幕库对象进行监听,为弹幕服务器发送弹幕消息至Android客户端提供接口,且弹幕监听器中包含回调函数,为弹幕服务器发送弹幕消息至Android客户端提供调用函数指针。当弹幕消息到达弹幕服务器时,触发弹幕监听事件,则弹幕服务器主动调用回调函数,即弹幕服务器通过回调函数的函数指针,将弹幕消息由弹幕监听器接口对象发送至Android客户端,Android客户端中的弹幕接收器对象则可以及时地、被动地接收弹幕消息。
S120、转发器协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发依据目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象。
其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,第二弹幕传输协议包含第二弹幕传输函数。这里,第二弹幕传输协议是预先定义的、用于进行弹幕消息传输的组件间的通信协议,其包含用于实现弹幕消息传输操作的协议内部函数——第二弹幕传输函数。当弹幕分发器对象通过Java语言中规定的进行接口协议继承的关键字implements继承了第二弹幕传输协议之后,其便具有了第二弹幕传输协议的通信功能,也会复写并实现其协议内部函数,这样弹幕分发器对象也具有了第二弹幕传输函数,其同时为弹幕分发器对象和分发器协议对象。
示例性地,第一弹幕传输函数与第二弹幕传输函数的函数输入参数相同。例如函数输入参数的个数、数据类型和参数排序等均相同。这样设置的好处在于,后续利用两个弹幕传输函数进行数据传输过程中,所传输的数据不需进行协议转换,如数据格式或数据类型等的转换,进一步提高数据传输效率,进而提高目标弹幕消息传输的时效性。例如,第二弹幕传输协议IViewProtocl的代码实现可以为:
public interface IViewProtocl{
onReceiveMsg(String type,String info);
}。
具体地,第一弹幕传输函数在弹幕接收器对象中被调用后,转发器协议对象则被触发执行第一弹幕传输函数,以接收作为函数输入参数而传入的目标弹幕消息。该目标弹幕消息的接收又作为转发器协议对象调用第二弹幕传输函数的触发条件。具体实施时,转发器协议对象中的第一弹幕传输函数的函数实现中,不仅包含目标弹幕消息的接收操作,也包含作为回调函数的第二弹幕传输函数的调用操作。这样,当第一弹幕传输函数接收到目标弹幕消息之后,自动触发第二弹幕传输函数的调用。该调用过程是在第一弹幕传输函数中,将接收的函数输入参数对应的目标弹幕消息,如弹幕消息标识type和弹幕消息体信息info,再次作为函数输入参数,通过预先获得的分发器协议对象DanmuSender,调用其继承而来的第二弹幕传输函数,即DanmuSender.onReceiveMsg(String type,String info)。如此,转发器协议对象中的第一弹幕传输函数便通过第二弹幕传输函数的函数指针,将目标弹幕消息由分发器协议对象提供的接口传输至弹幕分发器协议对象,并自动触发第二弹幕传输函数体的执行,也就是触发S130的执行。
同样地,上述过程中,转发器协议对象是在S120或S110的执行之前,预先获取分发器协议对象的,获取的方式可以是通过数据转发器对象和弹幕分发器对象提供的交互接口,也可以是通过函数调用方式,将相应的对象作为函数参数进行传输。
S130、分发器协议对象回调第二弹幕传输函数,获得目标弹幕消息。
具体地,第二弹幕传输函数在转发器协议对象中被调用后,分发器协议对象则被触发执行第二弹幕传输函数,以接收作为函数输入参数而传入的目标弹幕消息。至此,目标弹幕消息便由弹幕接收器对象快速传输至弹幕分发器对象中。
本实施例的技术方案,通过在弹幕接收器和弹幕分发器之间设置一个数据转发器,以实现弹幕消息在两个独立模块之间的传输,解除了弹幕接收模块和弹幕分发模块之间的耦合关系,降低程序开发难度。通过弹幕接收器对象预先获得转发器协议对象,建立了弹幕接收器与数据转发器之间的数据传输通道,并基于作为回调函数的第一弹幕传输函数,将弹幕接收器对象从弹幕服务器接收的目标弹幕消息传输至数据转发器对象。通过转发器协议对象预先获得分发器协议对象,建立了数据转发器与弹幕分发器之间的数据传输通道。通过在第一弹幕传输函数中触发作为回调函数的第二弹幕传输函数,使得数据转发器在其获得目标弹幕的同时,将获得的目标弹幕消息传输至弹幕分发器,提高了弹幕消息传输的时效性。
实施例二
本实施例在上述实施例一的基础上,对弹幕消息传输的传输通道的预先构建操作进行进一步优化。具体是对“转发器协议对象的预先获得”进行了进一步优化。在此基础上,还可以进一步对“分发器协议对象的预先获得”进行优化。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,本实施例提供的弹幕消息传输方法中传输通道的构建方法包括:
S210、数据转发器对象通过弹幕接收器类,调用第一对象获取函数,获取弹幕接收器对象。
其中,第一对象获取函数是弹幕接收器类中的内部函数(也称成员函数),其用于获取弹幕接收器类中的对象。
示例性地,弹幕接收器对象为单例对象。本实施例中将弹幕接收器类设置为单例模式,这样弹幕接收器类仅可有一个弹幕接收器对象。这样设置的好处在于将弹幕接收器对象设置为全局对象,以便其他类或对象可以直接获取。
具体地,本实施例中构建弹幕接收器与数据转发器之间的通信通道,是通过互相获取相应对象的方式来实现的。由于弹幕接收器对象为单例对象,故数据转发器对象可以直接获取弹幕接收器对象。具体实施时,数据转发器对象首先通过弹幕接收器类,调用其中的第一对象获取函数getInstence(),获取函数返回值,该函数返回值便为弹幕分发器对象。此时,数据转发器对象便持有了弹幕分发器对象。
S220、数据转发器对象依据第一弹幕传输协议,将数据转发器对象转换为转发器协议对象。
具体地,由于弹幕接收器对象所要获取的数据转发器对象中需要具有第一弹幕传输函数,且数据转发器对象应该仅具有第一弹幕传输协议对象的通信功能,以方便后续基于第一弹幕传输协议的函数调用。故在弹幕接收器对象获得数据转发器对象之前,需要在数据转发器对象的生命周期函数内,先根据第一弹幕传输协议,将继承了第一弹幕传输协议的数据转发器对象,强制转换为仅具有第一弹幕传输协议对象功能的转发器协议对象。其代码实现可以为:(IDanmuProtocl)DataDistribution。由于数据转发器对象已经持有弹幕接收器对象,故强制转换后的转发器协议对象也持有弹幕接收器对象。
S230、数据转发器对象通过弹幕接收器对象,以转发器协议对象为函数输入参数,调用弹幕接收器对象中的第一对象传输函数,将转发器协议对象发送至弹幕接收器对象。
其中,第一对象传输函数是弹幕接收器类中定义的,用于进行对象传输的函数。例如,第一对象传输函数可以定义为:
public void setIDanmuProtocl(IDanmuProtocl mm){
IDanmuProtocl iDanmu=mm;}。
其中,第一对象传输函数setIDanmuProtocl的函数输入参数mm是一个数据类型为第一弹幕传输协议IDanmuProtocl类型的对象。iDanmu是弹幕接收器对象中的一个数据类型同样为第一弹幕传输协议IDanmuProtocl类型的对象变量。
具体地,根据上述说明可知,转发器协议对象持有了弹幕接收器对象,且弹幕接收器对象中包含第一对象传输函数,故在数据转发器对象的生命周期函数中,以转发器协议对象为函数输入参数mm,通过转发器协议对象持有的弹幕接收器对象,调用其内的第一对象传输函数setIDanmuProtocl(mm),将转发器协议对象赋值给弹幕接收器对象中的对象变量iDanmu,如此弹幕接收器对象便持有了转发器协议对象。此时,弹幕接收器对象和数据转发器对象为互相持有对象的状态,则构建了弹幕接收器和数据转发器之间的通信通道。
S240、弹幕分发器对象通过数据转发器类,调用第二对象获取函数,获取数据转发器对象。
其中,第二对象获取函数是数据转发器类中的内部函数(也称成员函数),其用于获取数据转发器类中的对象。
示例性地,数据转发器对象为单例对象。本实施例中将数据转发器类设置为单例模式,这样数据转发器类仅可有一个数据转发器对象。这样设置的好处在于将数据转发器对象设置为全局对象,以便其他类或对象可以直接获取。
具体地,本实施例中构建数据转发器与弹幕分发器之间的通信通道,是通过互相获取相应对象的方式来实现的。由于数据转发器对象为单例对象,故弹幕分发器对象可以直接获取数据转发器对象。具体实施时,弹幕分发器对象首先通过数据转发器类,调用其中的第二对象获取函数getInstence(),获取函数返回值,该函数返回值便为数据转发器对象。此时,弹幕分发器对象便持有了数据转发器对象。
S250、弹幕分发器对象依据第二弹幕传输协议,将弹幕分发器对象转换为分发器协议对象。
具体地,由于数据转发器对象所要获取的弹幕分发器对象中需要具有第二弹幕传输函数,且弹幕分发器对象应该仅具有第二弹幕传输协议对象的通信功能,以方便后续基于第二弹幕传输协议的函数调用。故在数据转发器对象获得弹幕分发器对象之前,需要在弹幕分发器对象的生命周期函数内,先根据第二弹幕传输协议,将继承了第二弹幕传输协议的弹幕分发器对象,强制转换为仅具有第二弹幕传输协议对象功能的分发器协议对象。其代码实现可以为:(IViewProtocl)DanmuSender。由于弹幕分发器对象已经持有数据转发器对象,故强制转换后的分发器协议对象也持有数据转发器对象。
S260、弹幕分发器对象通过数据转发器对象,以分发器协议对象为函数输入参数,调用数据转发器对象中的第二对象传输函数,将分发器协议对象发送至数据转发器对象。
其中,第二对象传输函数是数据转发器类中定义的,用于进行对象传输的函数。例如,第二对象传输函数可以定义为:
public void setIViewProtocl(IViewProtocl nn){
IViewProtocl iView=nn;}。
其中,第二对象传输函数setIViewProtocl的函数输入参数nn是一个数据类型为第二弹幕传输协议IViewProtocl类型的对象。iView是弹幕接收器对象中的一个数据类型同样为第二弹幕传输协议IViewProtocl类型的对象变量。
具体地,根据上述说明可知,分发器协议对象持有了数据转发器对象,且数据转发器对象中包含第二对象传输函数,故在弹幕分发器对象的生命周期函数中,以分发器协议对象为函数输入参数nn,通过分发器协议对象持有的数据转发器对象,调用其内的第二对象传输函数setIViewProtocl(nn),将分发器协议对象赋值给数据转发器对象中的对象变量iView,如此数据转发器对象便持有了分发器协议对象。此时,数据转发器对象和弹幕分发器对象为互相持有对象的状态,则构建了数据转发器和弹幕分发器之间的通信通道。
需要说明的是,上述S210~S230和S240~S260可以是按序执行,也可以是先执行S240~S260而后执行S210~S230,还可以是同时执行S210~S230和S240~S260。只要S210~S230在S110之前执行,而S240~S260至少在S120之前执行即可。
本实施例的技术方案,通过弹幕接收器类中的第一对象获取函数,使得数据转发器对象持有弹幕接收器对象,并通过持有的弹幕接收器对象调用其内的第一对象传输函数,使得弹幕接收器对象持有数据转发器对象转换而来的转发器协议对象,构建了弹幕接收器与数据转发器之间的通信通道,进一步降低了弹幕接收器与数据转发器之间的耦合性。通过数据转发器类中的第二对象获取函数,使得弹幕分发器对象持有数据转发器对象,并通过持有的数据转发器对象调用其内的第二对象传输函数,使得数据转发器对象持有弹幕分发器对象转换而来的分发器协议对象,构建了数据转发器与弹幕分发器之间的通信通道,进一步降低了数据转发器与弹幕分发器之间的耦合性。
以下是本发明实施例提供的弹幕消息传输装置的实施例,该装置与上述各实施例的弹幕消息传输方法属于同一个发明构思,在弹幕消息传输装置的实施例中未详尽描述的细节内容,可以参考上述弹幕消息传输方法的实施例。
实施例三
本实施例提供一种弹幕消息传输装置,参见图3,该装置具体包括:
弹幕接收器310、数据转发器320和弹幕分发器330;
弹幕接收器310,用于依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数;
数据转发器320,用于回调第一弹幕传输函数,获得目标弹幕消息,并触发依据目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象,其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,第二弹幕传输协议包含第二弹幕传输函数;
弹幕分发器330,用于回调第二弹幕传输函数,获得目标弹幕消息。
可选地,数据转发器320包括转发器协议对象获取模块,用于通过如下方式使得弹幕接收器310预先获得转发器协议对象:
通过弹幕接收器类,调用对象获取函数,获取弹幕接收器对象,其中,弹幕接收器对象为单例对象;
依据第一弹幕传输协议,将数据转发器对象转换为转发器协议对象;
通过弹幕接收器对象,以转发器协议对象为函数输入参数,调用弹幕接收器对象中的第一对象传输函数,将转发器协议对象发送至弹幕接收器对象。
可选地,弹幕分发器330包括分发器协议对象获取模块,用于通过如下方式使得数据转发器320预先获得分发器协议对象:
通过数据转发器类,调用对象获取函数,获取数据转发器对象,其中,数据转发器对象为单例对象;
依据第二弹幕传输协议,将弹幕分发器对象转换为分发器协议对象;
通过数据转发器对象,以分发器协议对象为函数输入参数,调用数据转发器对象中的第二对象传输函数,将分发器协议对象发送至数据转发器对象。
可选地,第一弹幕传输函数与第二弹幕传输函数的函数输入参数相同。
通过本发明实施例三的一种弹幕消息传输装置,实现了弹幕消息在弹幕接收模块与弹幕分发模块之间的快速传输,提高了弹幕消息传输的时效性。
本发明实施例所提供的弹幕消息传输装置可执行本发明任意实施例所提供的弹幕消息传输方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述弹幕消息传输装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例四
参见图4,本实施例提供了一种设备400,其包括:一个或多个处理器420;存储装置410,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器420执行,使得一个或多个处理器420实现本发明实施例所提供的弹幕消息传输方法,包括:
弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数;
转发器协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发依据目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象,其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,第二弹幕传输协议包含第二弹幕传输函数;
分发器协议对象回调第二弹幕传输函数,获得目标弹幕消息。
当然,本领域技术人员可以理解,处理器420还可以实现本发明任意实施例所提供的弹幕消息传输方法的技术方案。
图4显示的设备400仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图4所示,该设备400包括处理器420、存储装置410、输入装置430和输出装置440;设备中处理器420的数量可以是一个或多个,图4中以一个处理器420为例;设备中的处理器420、存储装置410、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线450连接为例。
存储装置410作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的弹幕消息传输方法对应的程序指令/模块(例如,弹幕消息传输装置中的弹幕接收器、数据转发器和弹幕分发器)。
存储装置410可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置410可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置410可进一步包括相对于处理器420远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置430可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置440可包括显示屏等显示设备。
实施例五
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种弹幕消息传输方法,该方法包括:
弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,第一弹幕传输协议包含第一弹幕传输函数;
转发器协议对象回调第一弹幕传输函数,获得目标弹幕消息,并触发依据目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象,其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,第二弹幕传输协议包含第二弹幕传输函数;
分发器协议对象回调第二弹幕传输函数,获得目标弹幕消息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的弹幕消息传输方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所提供的弹幕消息传输方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (6)

1.一种弹幕消息传输方法,其特征在于,包括:
数据转发器对象通过弹幕接收器类,调用第一对象获取函数,获取弹幕接收器对象,其中,所述弹幕接收器对象为单例对象;
所述数据转发器对象依据第一弹幕传输协议,将所述数据转发器对象转换为转发器协议对象;
所述数据转发器对象通过所述弹幕接收器对象,以所述转发器协议对象为函数输入参数,调用所述弹幕接收器对象中的第一对象传输函数,将所述转发器协议对象发送至所述弹幕接收器对象;
弹幕分发器对象通过数据转发器类,调用第二对象获取函数,获取所述数据转发器对象,其中,所述数据转发器对象为单例对象;
所述弹幕分发器对象依据第二弹幕传输协议,将所述弹幕分发器对象转换为分发器协议对象;
所述弹幕分发器对象通过所述数据转发器对象,以所述分发器协议对象为函数输入参数,调用所述数据转发器对象中的第二对象传输函数,将所述分发器协议对象发送至所述数据转发器对象;
弹幕接收器对象依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;
所述转发器协议对象回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发依据所述目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象,其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,所述第二弹幕传输协议包含所述第二弹幕传输函数;
所述分发器协议对象回调所述第二弹幕传输函数,获得所述目标弹幕消息。
2.根据权利要求1所述的方法,其特征在于,所述第一弹幕传输函数与所述第二弹幕传输函数的函数输入参数相同。
3.一种弹幕消息传输装置,其特征在于,包括:弹幕接收器、数据转发器和弹幕分发器;其中,所述弹幕分发器包括分发器协议对象获取模块,所述数据转发器包括转发器协议对象获取模块;
所述转发器协议对象获取模块,用于通过弹幕接收器类数据转发器对象通过弹幕接收器类,调用第一对象获取函数,获取弹幕接收器对象,其中,所述弹幕接收器对象为单例对象;
依据第一弹幕传输协议,将所述数据转发器对象转换为转发器协议对象;
通过所述弹幕接收器对象,以所述转发器协议对象为函数输入参数,调用所述弹幕接收器对象中的第一对象传输函数,将所述转发器协议对象发送至所述弹幕接收器对象;
分发器协议对象获取模块,用于通过数据转发器类,调用第二对象获取函数,获取所述数据转发器对象,其中,所述数据转发器对象为单例对象;
依据第二弹幕传输协议,将所述弹幕分发器对象转换为分发器协议对象;
通过所述数据转发器对象,以所述分发器协议对象为函数输入参数,调用所述数据转发器对象中的第二对象传输函数,将所述分发器协议对象发送至所述数据转发器对象;
所述弹幕接收器,用于依据目标弹幕消息,通过预先获得的转发器协议对象,调用第一弹幕传输函数,以将所述目标弹幕消息传输至所述转发器协议对象,其中,转发器协议对象是数据转发器对象继承预先定义的第一弹幕传输协议而获得,所述第一弹幕传输协议包含所述第一弹幕传输函数;
所述数据转发器,用于回调所述第一弹幕传输函数,获得所述目标弹幕消息,并触发依据所述目标弹幕消息,通过预先获得的分发器协议对象,调用第二弹幕传输函数,以将所述目标弹幕消息传输至所述分发器协议对象其中,分发器协议对象是弹幕分发器对象继承预先定义的第二弹幕传输协议而获得,所述第二弹幕传输协议包含所述第二弹幕传输函数;
所述弹幕分发器,用于回调所述第二弹幕传输函数,获得所述目标弹幕消息。
4.根据权利要求3所述的装置,其特征在于,所述第一弹幕传输函数与所述第二弹幕传输函数的函数输入参数相同。
5.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-2中任一所述的弹幕消息传输方法。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-2中任一所述的弹幕消息传输方法。
CN201810940524.7A 2018-08-17 2018-08-17 弹幕消息传输方法、装置、设备与存储介质 Active CN109218841B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810940524.7A CN109218841B (zh) 2018-08-17 2018-08-17 弹幕消息传输方法、装置、设备与存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810940524.7A CN109218841B (zh) 2018-08-17 2018-08-17 弹幕消息传输方法、装置、设备与存储介质

Publications (2)

Publication Number Publication Date
CN109218841A CN109218841A (zh) 2019-01-15
CN109218841B true CN109218841B (zh) 2021-01-01

Family

ID=64989000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810940524.7A Active CN109218841B (zh) 2018-08-17 2018-08-17 弹幕消息传输方法、装置、设备与存储介质

Country Status (1)

Country Link
CN (1) CN109218841B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104602098A (zh) * 2015-01-04 2015-05-06 深圳市同洲电子股份有限公司 一种视频弹幕显示方法及其设备
CN104866383A (zh) * 2015-05-29 2015-08-26 北京金山安全软件有限公司 一种接口调用方法、装置及终端
CN105898375A (zh) * 2016-07-01 2016-08-24 上海幻电信息科技有限公司 一种弹幕推送系统及推送方法
CN107529070A (zh) * 2016-06-21 2017-12-29 天脉聚源(北京)科技有限公司 一种实现弹幕的方法和系统
CN108076007A (zh) * 2016-11-10 2018-05-25 阿里巴巴集团控股有限公司 一种接口的实现方法、装置和设备
CN108391154A (zh) * 2018-01-30 2018-08-10 广州虎牙信息科技有限公司 弹幕显示控制方法、存储介质和终端

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104618813B (zh) * 2015-01-20 2018-02-13 腾讯科技(北京)有限公司 弹幕信息处理方法、客户端及服务平台

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104602098A (zh) * 2015-01-04 2015-05-06 深圳市同洲电子股份有限公司 一种视频弹幕显示方法及其设备
CN104866383A (zh) * 2015-05-29 2015-08-26 北京金山安全软件有限公司 一种接口调用方法、装置及终端
CN107529070A (zh) * 2016-06-21 2017-12-29 天脉聚源(北京)科技有限公司 一种实现弹幕的方法和系统
CN105898375A (zh) * 2016-07-01 2016-08-24 上海幻电信息科技有限公司 一种弹幕推送系统及推送方法
CN108076007A (zh) * 2016-11-10 2018-05-25 阿里巴巴集团控股有限公司 一种接口的实现方法、装置和设备
CN108391154A (zh) * 2018-01-30 2018-08-10 广州虎牙信息科技有限公司 弹幕显示控制方法、存储介质和终端

Also Published As

Publication number Publication date
CN109218841A (zh) 2019-01-15

Similar Documents

Publication Publication Date Title
CN109246220B (zh) 一种消息推送系统及方法
CN110633442A (zh) 一种推送方法、装置及电子设备
CN106293972B (zh) 单页应用页面通讯方法和装置
CN110753129A (zh) 消息传输方法、系统、装置、设备及计算机可读存储介质
CN114097259B (zh) 一种通信处理方法、通信处理装置及存储介质
CN108882053B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109062650B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN113038213A (zh) 电视应用一键唤起方法、系统、存储介质及usb软件狗
CN108810633B (zh) 弹幕消息传输方法、装置、设备及存储介质
CN111338710A (zh) 应用程序控制方法、装置、电子设备及存储介质
CN108052401B (zh) 系统属性监听方法、终端设备及计算机可读存储介质
CN108966035B (zh) 弹幕消息传输方法、装置、设备与存储介质
CN109005468B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN111427710B (zh) 应用程序中组件的通信方法、装置、设备及存储介质
CN113312103A (zh) 智能摄像机的软件定义方法及装置、电子设备和存储介质
CN109218841B (zh) 弹幕消息传输方法、装置、设备与存储介质
CN108924653B (zh) 弹幕消息分发方法、装置、设备和存储介质
CN108810645B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109089163B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109005465B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109274988B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109327726B (zh) 一种弹幕消息的处理方法、装置、终端和存储介质
CN109246484B (zh) 弹幕消息传输方法、装置、设备与存储介质
CN109086107B (zh) 弹幕消息分发方法、装置、设备及存储介质
CN109005448B (zh) 弹幕消息分发方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant