CN109144639A - 弹幕消息分发方法、装置、设备及存储介质 - Google Patents
弹幕消息分发方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN109144639A CN109144639A CN201810890651.0A CN201810890651A CN109144639A CN 109144639 A CN109144639 A CN 109144639A CN 201810890651 A CN201810890651 A CN 201810890651A CN 109144639 A CN109144639 A CN 109144639A
- Authority
- CN
- China
- Prior art keywords
- barrage
- message
- target
- barrage message
- distribution
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/435—Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4788—Supplemental services, e.g. displaying phone caller identification, shopping application communicating with other users, e.g. chatting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种弹幕消息分发方法、装置、设备和存储介质。该方法包括:目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;在检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值,其中,弹幕消息获取函数为弹幕分发器对象继承弹幕消息获取协议而获得;若函数返回值不为空对象,则目标分发对象将函数返回值确定为当前目标弹幕消息。通过上述技术方案,实现弹幕消息的直达式分发,提高弹幕消息分发效率;同时保持弹幕消息的分发状态与处理状态同步,提高目标分发对象的性能稳定性。
Description
技术领域
本发明实施例涉及计算机技术,尤其涉及一种弹幕消息分发方法、装置、设备及存储介质。
背景技术
在诸如斗鱼的音视频播放/直播应用软件中,会大量使用弹幕消息。通常,这些弹幕消息是由音视频播放/直播应用软件逐条分发给需要使用弹幕消息的各个分发对象,如视图对象、业务控制器对象或数据管理器对象等。
以视图对象为例,对于安装于Android系统的音视频播放/直播应用软件,其向各个视图对象分发弹幕消息的方式是按照视图层级的引用关系链逐层地将弹幕消息传递至目标视图对象。参见图1,如果一个位于第三视图层104中的视图需要获取到弹幕消息101,那么该弹幕消息101需要按照引用关系链,先传递至第一视图层102,再由第一视图层102传递至第二视图层103,并最终由第二视图层103再传递至第三视图层104,使得弹幕消息的分发过程复杂,耗时长,效率低。并且在上述过程中,即便第一视图层102和第二视图层103中的视图对象不需要该弹幕消息,其也必须接收并传递该弹幕消息,无疑会造成系统资源的浪费。另外,上述弹幕消息分发操作是实时触发的,即接收到新的弹幕消息时触发执行弹幕消息分发。如果接收弹幕消息的视图对象中有正在处理的弹幕消息,那么该视图对象就需要同时处理多条弹幕消息,会使得视图对象内部的业务逻辑复杂化,容易引入多线程问题。
总之,现有的弹幕消息在音视频播放/直播应用软件中的分发方式存在分发过程复杂,分发效率低以及容易引起弹幕目标分发对象处理性能不稳定的问题。
发明内容
本发明实施例提供一种弹幕消息分发方法、装置、设备和存储介质,以实现弹幕消息的直达式分发,简化弹幕消息分发过程,提高弹幕消息分发效率。同时保持弹幕分发器中弹幕消息的分发状态与目标分发对象中弹幕消息的处理状态同步,提高目标分发对象的性能稳定性。
第一方面,本发明实施例提供了弹幕消息分发方法,包括:
目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
在检测到上一条目标弹幕消息处理完成时,所述目标分发对象以所述目标分发对象为函数输入参数,通过所述分发协议对象调用弹幕消息获取函数,以使所述弹幕分发器对象回调所述弹幕消息获取函数,获得函数返回值,其中,所述弹幕消息获取函数为所述弹幕分发器对象继承所述弹幕消息获取协议而获得;
若所述函数返回值不为空对象,则所述目标分发对象将所述函数返回值确定为当前目标弹幕消息。
第二方面,本发明实施例还提供了弹幕消息分发装置,该装置包括:
协议对象确定模块,用于目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
函数返回值确定模块,用于在检测到上一条目标弹幕消息处理完成时,所述目标分发对象以所述目标分发对象为函数输入参数,通过所述分发协议对象调用弹幕消息获取函数,以使所述弹幕分发器对象回调所述弹幕消息获取函数,获得函数返回值,其中,所述弹幕消息获取函数为所述弹幕分发器对象继承所述弹幕消息获取协议而获得;
弹幕消息确定模块,用于若所述函数返回值不为空对象,则所述目标分发对象将所述函数返回值确定为当前目标弹幕消息。
第三方面,本发明实施例还提供了一种设备,该设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的弹幕消息分发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本发明任意实施例所提供的弹幕消息分发方法。
本发明实施例通过目标分发对象获取继承了弹幕消息获取协议及其内包含的弹幕消息获取函数的弹幕分发器对象,构建了弹幕分发器对象与目标分发对象之间的消息传输通道,使得弹幕分发器对象与目标分发对象之间能够直接进行弹幕消息的传输,简化了弹幕消息的分发过程,提高了弹幕消息的分发效率。通过在检测到上一条目标弹幕消息处理完成时,目标分发对象获取其对应的当前目标弹幕消息,实现了目标分发对象根据其内部的上一条目标弹幕消息处理状态主动获取当前目标弹幕消息,提高了弹幕消息分发的及时性,也使得弹幕分发器中弹幕消息的分发状态与目标分发对象中弹幕消息的处理状态之间保持同步,从而减少了目标分发对象内部的弹幕消息并行处理业务逻辑,提高了目标分发对象的性能稳定性。通过目标分发对象以目标分发对象为函数输入参数,以使弹幕消息获取函数从目标分发对象对应的消息列表中获得函数返回值,且在函数返回值不为空对象时,将函数返回值确定为当前目标弹幕消息,使得目标分发对象直接获取其对应的当前目标弹幕消息,减少了无关弹幕消息的获取过程,进一步简化了弹幕消息的分发过程,从而进一步提高了弹幕消息的分发效率。
附图说明
图1是现有技术中弹幕消息分发的过程示意图;
图2是本发明实施例一中的一种弹幕消息分发方法的流程图;
图3是本发明实施例一中的弹幕消息分发的过程示意图;
图4是本发明实施例二中的一种弹幕消息分发方法的流程图;
图5是本发明实施例三中的弹幕消息获取函数实现过程的流程图;
图6是本发明实施例四中的一种弹幕消息分发装置的结构示意图;
图7是本发明实施例五中的一种设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
本实施例提供的弹幕消息分发方法,可适用于Android客户端中的音视频播放/直播应用软件将接收到的待分发弹幕消息,分发至应用软件内与待分发弹幕消息相对应的各个目标分发对象,尤其适用于待分发弹幕消息的条数比较多,且弹幕消息的获取速度大于分发速度的情况。该方法可以由弹幕消息分发装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在安装有音视频播放/直播应用软件的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图2,本实施例的方法具体包括如下步骤:
S110、目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象。
其中,分发对象是指音视频播放/直播应用软件中需要接收弹幕消息,且满足直达式接收弹幕消息条件的组件对象,例如可以是用于弹幕消息显示的视图对象,也可以是用于对弹幕消息进行数据处理的业务控制器对象,还可以是对弹幕消息进行存储或传输的数据管理器对象。上述直达式接收弹幕消息的条件将在后续进行说明。目标分发对象是指本次操作中需要获取弹幕消息的分发对象。弹幕分发器是指用于进行弹幕消息分发的弹幕分发模块,该模块中为实现弹幕消息分发操作而定义了弹幕分发器类,而弹幕分发器对象则是弹幕分发器类的一个实例,其是弹幕消息分发操作的具体执行者。
弹幕消息获取协议是预先定义的、用于进行弹幕消息直达式分发的组件间的通信协议。示例性地,弹幕消息获取协议为具有公有权限修饰符的接口类型,且包含弹幕消息获取函数;弹幕消息获取函数具有公有权限修饰符,且函数返回值类型为Java-Object数据类型。其代码实现可以为:
public interface IgetMsgByView{
public Object getMsg(View mView)
}。
其中,public为公有权项修饰符,这样其他类也就具有了访问该弹幕消息获取协议IgetMsgByView的权限。interface为接口类型限定符,其表明弹幕消息获取协议IgetMsgByView为接口实现机制,便于其他类的多态继承。Object为弹幕消息获取函数getMsg的函数返回值类型,其表示函数返回值可以是任意数据类型,例如可以是空对象void类型、字符串string类型、键值对map类型、JavaBean类型或消息Message类型等,其取决于getMsg函数中的返回值return语句。mView是弹幕消息获取函数getMsg的函数输入参数,其是一个分发对象,具体则是目标分发对象。上述键值对map类型中的键为字符串String类型的弹幕消息标识type,值为String类型、Message类型或JavaBean类型的弹幕消息体msg。这里,弹幕消息标识是指能够标识弹幕消息的字符,其可以是数字、字母、符号及上述各种字符的任意组合,该弹幕消息标识应当是一条弹幕消息的唯一的、全局的标识。弹幕消息体是指弹幕消息的承载者,其内包含具体地弹幕消息内容。通过上述弹幕消息获取协议和弹幕消息获取函数的定义,构建了弹幕消息直达式分发的协议基础。
协议对象是指对接口协议进行继承与实例化后而获得的对象,需要理解的是继承接口协议的对象既是继承之前的原生对象,也是继承之后的协议对象。分发协议对象是指继承并实例化弹幕消息获取协议而生成的对象,本实施例中是弹幕分发器对象对应的协议对象,且数据类型仅为协议对象。
具体地,为了实现弹幕分发器对象中弹幕消息的分发状态与目标分发对象中弹幕消息的处理状态之间的同步,且保证弹幕消息分发的及时性,本发明实施例中将弹幕消息分发过程设计为目标分发对象主动地从弹幕分发器对象中获取弹幕消息。具体实施时,目标分发对象先获取弹幕分发器对象,以便后续通过该弹幕分发器对象对其中存储的弹幕消息进行获取。而上述直达式获取过程的实现,需要借助于弹幕消息获取协议,即弹幕分发器对象需要继承弹幕消息获取协议,以持有弹幕消息获取接口及弹幕消息获取函数,并基于此获取分发协议对象。
S120、在检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值。
其中,目标弹幕消息是指目标分发对象可接收的弹幕消息,其与目标分发对象之间具有对应关系。上一条目标弹幕消息是指执行上一次弹幕消息分发操作所获得的目标弹幕消息。弹幕消息获取函数为弹幕消息获取协议的内部函数,其是一个回调函数,且由S110说明可知弹幕消息获取函数为弹幕分发器对象继承弹幕消息获取协议而获得,故弹幕消息获取函数的函数执行者为弹幕分发器对象。
具体地,为了实现弹幕消息的分发状态与处理状态之间的同步,目标分发对象需要检测其内部的上一条目标弹幕消息的处理状态。当检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象mView为函数输入参数,触发调用S110中获得的分发协议对象中的弹幕消息获取函数getMsg(mView)。该触发调用操作会使得弹幕分发器对象执行弹幕消息获取函数,以获得与目标分发对象对应的函数返回值。通过该步骤的操作,目标分发对象就可以在上一条目标弹幕消息处理完成时,及时地从弹幕分发器对象中获得新的函数返回值,进而通过后续操作获得本次弹幕消息分发操作而获得的目标弹幕消息(即当前目标弹幕消息)。
S130、若函数返回值不为空对象,则目标分发对象将函数返回值确定为当前目标弹幕消息。
具体地,比较S120获得的函数返回值与空对象null,如果函数返回值不是空对象,说明此次S120的执行获得了与目标分发对象相对应的目标弹幕消息,则目标分发对象将获得的函数返回值确定为当前目标弹幕消息,本次弹幕消息分发操作结束。
参见图3,通过本发明实施例中的弹幕消息分发方法,弹幕消息301可以直接通过弹幕分发器302传输至需要接收弹幕消息的视图对象中,即位于第三视图层305中的视图对象,而无需经过中间的第一视图层303和第二视图层304。
本实施例的技术方案,通过目标分发对象获取继承了弹幕消息获取协议及其内包含的弹幕消息获取函数的弹幕分发器对象,构建了弹幕分发器对象与目标分发对象之间的消息传输通道,使得弹幕分发器对象与目标分发对象之间能够直接进行弹幕消息的传输,简化了弹幕消息的分发过程,提高了弹幕消息的分发效率。通过在检测到上一条目标弹幕消息处理完成时,目标分发对象获取其对应的当前目标弹幕消息,实现了目标分发对象根据其内部的上一条目标弹幕消息处理状态主动获取当前目标弹幕消息,提高了弹幕消息分发的及时性,也使得弹幕分发器中弹幕消息的分发状态与目标分发对象中弹幕消息的处理状态之间保持同步,从而减少了目标分发对象内部的弹幕消息并行处理业务逻辑,提高了目标分发对象的性能稳定性。通过目标分发对象以目标分发对象为函数输入参数,以使弹幕消息获取函数从目标分发对象对应的消息列表中获得函数返回值,且在函数返回值不为空对象时,将函数返回值确定为当前目标弹幕消息,使得目标分发对象直接获取其对应的当前目标弹幕消息,减少了无关弹幕消息的获取过程,进一步简化了弹幕消息的分发过程,从而进一步提高了弹幕消息的分发效率。
实施例二
本实施例在上述实施例一的基础上,对“目标分发对象依据弹幕分发器对象及弹幕消息获取协议,获取分发协议对象”进行了进一步优化。在此基础上,还可以进一步对“检测到上一条目标弹幕消息处理完成”进行优化。在上述基础上,还可以增加“函数返回值为空对象”时的步骤。本实施例中的执行主体为目标分发对象。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图4,本实施例提供的弹幕消息分发方法包括:
S210、通过弹幕分发器类调用对象获取函数,获取弹幕分发器对象。
其中,对象获取函数是弹幕分发器类中的内部函数(也称成员函数),其用于获取弹幕分发器类的实例化对象。
具体地,目标分发对象从弹幕分发器对象中获取目标弹幕消息的前提,是获取到弹幕分发器对象,以为目标分发对象和弹幕分发器对象之间建立桥接关系建立基础。具体实施时,目标分发对象通过弹幕分发器类DanMuManager,调用对象获取函数getInstence(),获取函数返回值。上述代码实现可以为:DanMuManager.getInstence(),该函数返回值即为弹幕分发器对象。
S220、依据弹幕消息获取协议,将弹幕分发器对象转换为分发协议对象。
具体地,目标分发对象在获取继承了弹幕消息获取协议的弹幕分发器对象之后,由于弹幕分发器对象既有弹幕分发器类的功能,也有分发协议对象的功能,故在后续使用该对象时无法确定其执行哪种功能,即无法直接对弹幕分发器对象进行弹幕消息获取的操作。所以,为了使得弹幕分发器对象仅具备弹幕分发协议对象的功能,以便于弹幕消息获取协议的执行,目标分发对象需要将继承了弹幕消息获取协议的弹幕分发器对象,再强制转换为与弹幕消息获取协议对应的分发协议对象,其代码实现可以为:(IFetchMsgByView)DanMuManager.getInstence()。
S230、检测消息处理状态变量值。
其中,消息处理状态变量是指表征弹幕消息处理状态的变量,其用于存储目标分发对象对目标弹幕消息处理状态的消息处理标识。消息处理标识是指表征目标分发对象对目标弹幕消息处理状态的标识,该标识可以是字母、数字、符号及上述任意组合。例如消息处理标识可以包括弹幕消息处理完成的完成标识,例如STATE_END,以及弹幕消息未处理完成的未完成标识,例如STATE_ON;未完成标识具体可以包含弹幕消息开始处理的开始标识,例如STATE_START,和弹幕消息正在处理中的正在处理标识,例如STATE_HAND。
示例性地,消息处理状态变量是一个枚举类型变量,且具有静态类型修饰符和禁用缓存修饰符。由上述说明可知消息处理标识为至少两种标识,故为了便于消息处理标识的管理,将消息处理状态变量设计为枚举类型。考虑到设置处理状态变量的目的是为了实现弹幕分发器对象与目标分发对象之间的弹幕消息处理进度的实时同步,而计算机或手机等设备在硬件上通常设计缓存功能,例如CPU寄存器、缓存区和内存区的三级缓存设置,与三级缓存相对应,CPU处理后变量值的改变是先在缓存中改变,内存中变量值的改变具有一定的滞后性。所以,为了实现消息处理状态变量的实时同步目的,本发明实施例中将消息处理状态变量设置为禁用缓存功能,这样CPU改变处理状态变量值后,直接在内存中进行相应变量值的改变,而不经过缓存区。进一步地,为了实现与禁用缓存修饰符的统一,将消息处理状态变量设置为直接存储于静态内存区,这样还可简化该变量的访问方式,使其由原本通过对象访问方式变更为通过类直接访问方式,以提高消息处理状态变量的访问便捷性。
具体地,目标分发对象获取其内设置的消息处理状态变量的值(即消息处理状态变量值)。
S240、当消息处理状态变量值不为完成标识时,间隔标识判断时间段,执行检测消息处理状态变量值的步骤,直至消息处理标识为完成标识。
其中,标识判断时间段是指预先设定的、用于触发判断消息处理标识是否为完成标识的定时器时长。
具体地,目标分发对象在检测到消息处理状态变量值为未完成标识、开始标识或正在处理标识时,说明该目标分发对象内部有开始处理或正在处理的上一条目标弹幕消息,其暂时无法接收新的弹幕消息,需要等待目标分发对象处理完上一条目标弹幕消息。上述等待的过程中,目标分发对象需要不断获取其消息处理状态变量值。为了均衡弹幕消息分发的及时性和系统内存消耗,本实施例中设置了一个标识判断定时器,当定时器周期达到,即标识判断时间段到达时,再循环执行S230及S240的操作,直至消息处理状态变量值为完成标识。之后,执行S250。
S250、当消息处理状态变量值为完成标识时,确定上一条目标弹幕消息处理完成。
具体地,当S230或S240中获取的消息处理状态变量值为完成标识时,即可判定上一条目标弹幕消息处理完成。
S260、以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值。
S270、若函数返回值不为空对象,则将函数返回值确定为当前目标弹幕消息。
S280、若函数返回值为空对象,则间隔消息重获时间段,返回执行以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值的步骤,直至确定当前目标弹幕消息。
其中,消息重获时间段是指指预先设定的、用于触发重新执行弹幕消息获取操作的定时器时长。该消息重获时间段可以是预先设定的固定时长,也可以是按照预先设定的时长变化规则,动态变动的时长。该时长变化规则可以为目标分发对象获取下一条缓存弹幕消息为需求弹幕消息的概率。例如,设置一个数值固定的初始时长(如1s),当获取的下一条缓存弹幕消息不为需求弹幕消息时,认为获取下一条缓存弹幕消息为需求弹幕消息的概率较小,则将初始时长增加设定时间段(如1s),确定第一调整时间段;当再次获取的下一条缓存弹幕消息仍不为需求弹幕消息时,则第一调整时间段增加设定时间段(如1s),获得第二调整时间段,以此类推,直至获取的下一条缓存弹幕消息为需求弹幕消息,则定时器时长归0。
具体地,如果目标分发对象所获取的函数返回值是空对象,说明弹幕分发器对象中暂时没有目标分发对象对应的目标弹幕消息。那么,目标分发对象需要等待弹幕分发器对象中获取到目标弹幕消息之后,重新从弹幕分发器对象中获取函数返回值。为了平衡系统内存消耗与弹幕消息获取的及时性,本实施例中设置了消息重获时间段,当定时器周期达到,即消息重获时间段到达时,再返回执行S260及其后续步骤的操作,直至获得当前目标弹幕消息。
本实施例的技术方案,通过对象转换的方式,获取了弹幕分发器对象对应的分发协议对象,使得弹幕消息获取协议便于实现,进一步提高了弹幕消息的分发效率。通过间隔标识判断时间段循环检测消息处理状态变量值直至确定上一条目标弹幕消息处理完成,一定程度上降低了目标分发对象的系统内存消耗,从而进一步提高弹幕消息分发速度。通过函数返回值为空对象时,间隔消息重获时间段,返回执行以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值的步骤,直至确定当前目标弹幕消息,进一步平衡弹幕消息分发时效性与系统内存消耗,从而更进一步地提高弹幕消息分发效率。
实施例三
本实施例在上述各实施例的基础上,对“弹幕消息获取函数”的功能实现过程进行了进一步优化,该弹幕消息获取函数具体用于根据函数输入参数确定弹幕分发器对象中的目标消息列表,并依据目标消息列表确定函数返回值。本实施例中的执行主体为弹幕分发器对象。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图5,本实施例提供的弹幕消息获取函数实现方法包括:
S310、依据目标分发对象,确定目标消息列表。
其中,消息列表是指弹幕分发器对象中预先建立的列表,其用于按照弹幕消息获取顺序存储从弹幕服务器获取的,且与分发对象对应的各个弹幕消息,以有效避免弹幕消息未被及时分发而丢失,同时保持弹幕消息的分发顺序性。需要说明的是,在弹幕分发器内部为每一个分发对象均创建了一个对应的消息列表,即分发对象与消息列表之间存在一一对应关系,这样可以单独存储每个分发对象对应的缓存弹幕消息,从而独立地控制各个分发对象的缓存弹幕消息的分发。如果在弹幕分发器对象中设置一个总的消息列表,那么当一个分发对象需要获取其对应的缓存弹幕消息时,该分发对象需要对总的消息列表进行遍历以确定分发对象对应的缓存弹幕消息,或者需要逐个获取列表中的缓存弹幕消息以进行筛选。无论采用哪种方式,该分发对象均要逐条访问缓存弹幕消息,该过程无疑是一个较为繁琐的过程。所以,相对于上述设置一个总的消息列表的方式,本发明实施例中为每个分发对象均设置一个消息列表的设置,既能简化弹幕分发实现逻辑,又能提高分发对象获取其对应的缓存弹幕消息的速度,从而进一步提高弹幕消息的分发效率。
目标消息列表则是指弹幕分发器对象中目标分发对象对应的消息列表。上述消息列表的数据类型可以是数组、堆栈、队列或链表等,优选为具有先进先出特性的队列,这样可以方便弹幕消息顺序性的维护及弹幕消息的存取。
具体地,弹幕分发器对象根据作为函数输入参数传入的目标分发对象,在其内部维护的多个消息列表中,确定出目标分发对象对应的目标消息列表。
这里需要说明,弹幕分发器对象从弹幕服务器获取弹幕消息可以是Android客户端中的音视频播放/直播应用软件向弹幕服务器发送数据获取请求,弹幕服务器被动响应数据获取请求来获取;优选是通过Android客户端中预先建立的弹幕监听器接口对象及弹幕监听器接口对象中作为回调函数的消息传输函数,接收弹幕服务器中的弹幕库对象回调消息传输函数发送的弹幕消息,其中,弹幕监听器接口对象用于监听弹幕服务器中的弹幕库对象。也就是说,Android客户端从弹幕服务器获取弹幕消息是通过在Android客户端中设置弹幕监听器接口对象,对弹幕服务器中的弹幕库对象进行监听,为弹幕服务器发送弹幕消息至Android客户端提供接口,且弹幕监听器中包含回调函数,为弹幕服务器发送弹幕消息至Android客户端提供调用函数指针。当弹幕消息到达弹幕服务器时,触发弹幕监听事件,则弹幕服务器主动调用回调函数,即弹幕服务器通过回调函数的函数指针,将弹幕消息由弹幕监听器接口对象发送至Android客户端,Android客户端中的弹幕分发器对象则可以及时地、被动地接收弹幕消息。
示例性地,依据目标分发对象,确定目标消息列表包括:弹幕分发器对象依据目标分发对象,从分发对象与消息列表之间的映射关系集合中,确定目标消息列表。
其中,映射关系集合是指预先创建的集合,其存储各个分发对象和各个消息列表之间一一对应的映射关系。该映射关系集合的表现形式可以是两个长度相同的数组,分别存储分发对象和消息列表,通过数组下标索引index维护两者之间的一一对应关系;也可以是键值对形式,键信息为分发对象,值信息为消息列表;还可以是二维列表list形式,例如映射关系集合的定义及初始化实现为:private List<View,List<Object>>listVIewToMsg=new ArrayList<View,List<Object>>,这里将映射关系集合listVIewToMsg设置为私有权限,使其仅可被弹幕分发器对象访问,有效避免数据篡改;上述二维列表中第一维View表示分发对象,可以理解为信息查询时的键信息,第二维List<Object>表示消息列表,可以理解为信息查询时的值信息;List<Object>表示消息列表中存储的弹幕消息的类型为Java-Object类型,同样地弹幕消息可以以字符串类型、键值对map类型、JavaBean类型或Message类型存储。
具体地,弹幕分发器对象以目标分发对象为消息列表查询的键信息,从映射关系集合中,查找与键信息相对应的值信息,将其确定为目标消息列表。这样设置的好处在于,通过预先构建的分发对象与消息列表之间的映射关系集合,维护分发对象与消息列表之间的一一对应关系,能够简化分发对象与其对应的消息列表的数据管理方式,从而提高后续目标消息列表的获取速度,进而进一步提高弹幕分发效率。
S320、在目标消息列表的元素个数大于0时,弹幕分发器对象从目标消息列表中按序获取一条缓存弹幕消息,确定为函数返回值,并从目标消息列表中删除缓存弹幕消息。
具体地,确定目标消息列表之后,弹幕分发器对象需要从其中获取一条预先存储于目标消息列表中的弹幕消息(即缓存弹幕消息)。但是,如果目标消息列表中没有存储任何缓存弹幕消息,那么就无法获取所需的缓存弹幕消息,此时无需执行消息获取的操作。所以,确定目标消息列表之后,首先判断目标消息列表中是否存储有缓存弹幕消息,即先获取目标消息列表的元素个数。获取元素个数的方式依据消息列表的数据类型而定,例如调用函数count(*)、size()或length()(针对数组)等。然后,比较元素个数与0。在元素个数大于0时,说明目标消息列表中存储有未分发的缓存弹幕消息。此时,按照消息列表类型,从消息列表中按序获取一个新的缓存弹幕消息,作为函数返回值。这里的按序是指按照从弹幕服务器获取弹幕消息的顺序,也对应于弹幕消息在消息列表的存储顺序。例如消息列表类型为队列时,从队头部获取第一条缓存弹幕消息。之后,由于作为函数返回值的缓存弹幕消息已经执行分发操作,故应当将其从目标消息列表中删除,避免重复分发。那么,在执行函数返回值返回操作(如return语句)之前,执行将该缓存弹幕消息从目标消息列表中删除的操作。
S330、在目标消息列表的元素个数等于0时,弹幕分发器对象将空对象确定为函数返回值。
具体地,如果S320中弹幕分发器对象比较元素个数与0的结果是元素个数等于0,说明目标消息列表中没有需要分发的缓存弹幕消息,即目标消息列表为空列表,此时弹幕分发器对象无法获取到缓存弹幕消息,则将空对象null作为函数返回值,并调用return语句将空对象返回至目标分发对象。
本实施例的技术方案,通过确定独立管理目标分发对象对应的各个弹幕消息的目标消息列表,能够缩小当前目标弹幕消息的获取范围,从而进一步提高整个弹幕消息分发过程的执行效率。通过在目标消息列表的元素个数大于0时,将从目标消息列表中按序获取的缓存弹幕消息确定为函数返回值;在目标消息列表的元素个数等于0时,将空对象确定为函数返回值,简化了弹幕分发器对象中确定函数返回值的实现逻辑,从而减少了弹幕分发器对象中同时进行多个分发对象的弹幕消息获取操作时,弹幕分发器对象内部的程序执行时耗,进而进一步提高弹幕消息的分发效率。
以下是本发明实施例提供的弹幕消息分发装置的实施例,该装置与上述各实施例的弹幕消息分发方法属于同一个发明构思,在弹幕消息分发装置的实施例中未详尽描述的细节内容,可以参考上述弹幕消息分发方法的实施例。
实施例四
本实施例提供一种弹幕消息分发装置,参见图6,该装置具体包括:
协议对象确定模块610,用于目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
函数返回值确定模块620,用于在检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值,其中,弹幕消息获取函数为弹幕分发器对象继承弹幕消息获取协议而获得;
弹幕消息确定模块630,用于若函数返回值不为空对象,则目标分发对象将函数返回值确定为当前目标弹幕消息。
可选地,在上述装置的基础上,该装置还包括循环模块,用于:
若函数返回值为空对象,则目标分发对象间隔消息重获时间段,返回执行以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值的步骤,直至确定当前目标弹幕消息。
可选地,函数返回值确定模块620包括函数执行子模块,用于通过如下步骤实现获得函数返回值的功能:
弹幕分发器对象依据目标分发对象,确定目标消息列表;
在目标消息列表的元素个数大于0时,弹幕分发器对象从目标消息列表中按序获取一条缓存弹幕消息,确定为函数返回值,并从目标消息列表中删除缓存弹幕消息;
在目标消息列表的元素个数等于0时,弹幕分发器对象将空对象确定为函数返回值。
进一步地,函数执行子模块具体用于:
弹幕分发器对象依据目标分发对象,从分发对象与消息列表之间的映射关系集合中,确定目标消息列表。
可选地,协议对象确定模块610具体用于:
目标分发对象通过弹幕分发器类调用对象获取函数,获取弹幕分发器对象;
目标分发对象依据弹幕消息获取协议,将弹幕分发器对象转换为分发协议对象。
可选地,函数返回值确定模块620具体用于:
目标分发对象检测消息处理状态变量值,其中,处理状态变量是一个枚举类型变量,且具有静态类型修饰符和禁用缓存修饰符;
当消息处理状态变量值为完成标识时,目标分发对象确定上一条目标弹幕消息处理完成。
进一步地,函数返回值确定模块620还具体用于:
在目标分发对象检测消息处理状态变量值之后,当消息处理状态变量值不为完成标识时,目标分发对象间隔标识判断时间段,执行检测消息处理状态变量值的步骤,直至消息处理标识为完成标识。
通过本发明实施例四的一种弹幕消息分发装置,实现了弹幕消息的直达式分发,简化了弹幕消息分发过程,提高了弹幕消息分发效率。同时保持了弹幕分发器中弹幕消息的分发状态与目标分发对象中弹幕消息的处理状态同步,提高了目标分发对象的性能稳定性。
本发明实施例所提供的弹幕消息分发装置可执行本发明任意实施例所提供的弹幕消息分发方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述弹幕消息分发装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
实施例五
参见图7,本实施例提供了一种设备700,其包括:一个或多个处理器720;存储装置710,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器720执行,使得一个或多个处理器720实现本发明实施例所提供的弹幕消息分发方法,包括:
目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
在检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值,其中,弹幕消息获取函数为弹幕分发器对象继承弹幕消息获取协议而获得;
若函数返回值不为空对象,则目标分发对象将函数返回值确定为当前目标弹幕消息。
当然,本领域技术人员可以理解,处理器720还可以实现本发明任意实施例所提供的弹幕消息分发方法的技术方案。
图7显示的设备700仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,该设备700包括处理器720、存储装置710、输入装置730和输出装置740;设备中处理器720的数量可以是一个或多个,图7中以一个处理器720为例;设备中的处理器720、存储装置710、输入装置730和输出装置740可以通过总线或其他方式连接,图7中以通过总线750连接为例。
存储装置710作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的弹幕消息分发方法对应的程序指令/模块(例如,弹幕消息分发装置中的协议对象确定模块、函数返回值确定模块和弹幕消息确定模块)。
存储装置710可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置710可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置710可进一步包括相对于处理器720远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
实施例六
本实施例提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种弹幕消息分发方法,该方法包括:
目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
在检测到上一条目标弹幕消息处理完成时,目标分发对象以目标分发对象为函数输入参数,通过分发协议对象调用弹幕消息获取函数,以使弹幕分发器对象回调弹幕消息获取函数,获得函数返回值,其中,弹幕消息获取函数为弹幕分发器对象继承弹幕消息获取协议而获得;
若函数返回值不为空对象,则目标分发对象将函数返回值确定为当前目标弹幕消息。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的弹幕消息分发方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的弹幕消息分发方法。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (10)
1.一种弹幕消息分发方法,其特征在于,包括:
目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
在检测到上一条目标弹幕消息处理完成时,所述目标分发对象以所述目标分发对象为函数输入参数,通过所述分发协议对象调用弹幕消息获取函数,以使所述弹幕分发器对象回调所述弹幕消息获取函数,获得函数返回值,其中,所述弹幕消息获取函数为所述弹幕分发器对象继承所述弹幕消息获取协议而获得;
若所述函数返回值不为空对象,则所述目标分发对象将所述函数返回值确定为当前目标弹幕消息。
2.根据权利要求1所述的方法,其特征在于,在所述获得函数返回值之后,还包括:
若所述函数返回值为所述空对象,则所述目标分发对象间隔消息重获时间段,返回执行所述以所述目标分发对象为函数输入参数,通过所述分发协议对象调用弹幕消息获取函数,以使所述弹幕分发器对象回调所述弹幕消息获取函数,获得函数返回值的步骤,直至确定所述当前目标弹幕消息。
3.根据权利要求1所述的方法,其特征在于,所述弹幕消息获取函数通过如下步骤实现获得函数返回值的功能:
所述弹幕分发器对象依据所述目标分发对象,确定目标消息列表;
在所述目标消息列表的元素个数大于0时,所述弹幕分发器对象从所述目标消息列表中按序获取一条缓存弹幕消息,确定为所述函数返回值,并从所述目标消息列表中删除所述缓存弹幕消息;
在所述目标消息列表的元素个数等于0时,所述弹幕分发器对象将所述空对象确定为所述函数返回值。
4.根据权利要求3所述的方法,其特征在于,所述弹幕分发器对象依据所述目标分发对象,确定目标消息列表包括:
所述弹幕分发器对象依据所述目标分发对象,从分发对象与消息列表之间的映射关系集合中,确定所述目标消息列表。
5.根据权利要求1所述的方法,其特征在于,所述目标分发对象依据弹幕分发器对象及弹幕消息获取协议,获取分发协议对象包括:
所述目标分发对象通过弹幕分发器类调用对象获取函数,获取所述弹幕分发器对象;
所述目标分发对象依据所述弹幕消息获取协议,将所述弹幕分发器对象转换为所述分发协议对象。
6.根据权利要求1所述的方法,其特征在于,所述检测到上一条目标弹幕消息处理完成包括:
所述目标分发对象检测消息处理状态变量值,其中,处理状态变量是一个枚举类型变量,且具有静态类型修饰符和禁用缓存修饰符;
当所述消息处理状态变量值为完成标识时,所述目标分发对象确定所述上一条目标弹幕消息处理完成。
7.根据权利要求6所述的方法,其特征在于,在所述目标分发对象检测消息处理状态变量值之后,还包括:
当所述消息处理状态变量值不为完成标识时,所述目标分发对象间隔标识判断时间段,执行所述检测消息处理状态变量值的步骤,直至所述消息处理标识为所述完成标识。
8.一种弹幕消息分发装置,其特征在于,包括:
协议对象确定模块,用于目标分发对象依据弹幕分发器对象及弹幕消息获取协议,确定分发协议对象;
函数返回值确定模块,用于在检测到上一条目标弹幕消息处理完成时,所述目标分发对象以所述目标分发对象为函数输入参数,通过所述分发协议对象调用弹幕消息获取函数,以使所述弹幕分发器对象回调所述弹幕消息获取函数,获得函数返回值,其中,所述弹幕消息获取函数为所述弹幕分发器对象继承所述弹幕消息获取协议而获得;
弹幕消息确定模块,用于若所述函数返回值不为空对象,则所述目标分发对象将所述函数返回值确定为当前目标弹幕消息。
9.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的弹幕消息分发方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的弹幕消息分发方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810890651.0A CN109144639B (zh) | 2018-08-07 | 2018-08-07 | 弹幕消息分发方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810890651.0A CN109144639B (zh) | 2018-08-07 | 2018-08-07 | 弹幕消息分发方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109144639A true CN109144639A (zh) | 2019-01-04 |
CN109144639B CN109144639B (zh) | 2021-09-07 |
Family
ID=64792157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810890651.0A Active CN109144639B (zh) | 2018-08-07 | 2018-08-07 | 弹幕消息分发方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109144639B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565916A (zh) * | 2020-11-26 | 2021-03-26 | 厦门理工学院 | 一种弹幕显示方法、装置、设备及计算机可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140139681A1 (en) * | 2012-11-21 | 2014-05-22 | Nettalon Security Systems, Inc. | Method and system for monitoring of friend and foe in a security incident |
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件系统 |
US20150106786A1 (en) * | 2013-10-16 | 2015-04-16 | International Business Machines Corporation | Symmetrical dimensions in context-oriented programming to optimize software object execution |
CN106487931A (zh) * | 2016-12-13 | 2017-03-08 | 中国人民解放军国防科学技术大学 | 一种基于相似文件协同的BitTorrent数据分发系统及方法 |
CN107368311A (zh) * | 2017-07-10 | 2017-11-21 | 武汉斗鱼网络科技有限公司 | 一种多Fragment之间的通信方法及系统 |
CN107438098A (zh) * | 2017-07-17 | 2017-12-05 | 网宿科技股份有限公司 | 一种动态内容分发方法及其系统 |
CN107566997A (zh) * | 2017-07-05 | 2018-01-09 | 宇龙计算机通信科技(深圳)有限公司 | 短消息传输方法、装置、用户终端及计算机可读存储介质 |
CN107623633A (zh) * | 2016-07-14 | 2018-01-23 | 中兴通讯股份有限公司 | 路径建立方法、装置及网络节点 |
-
2018
- 2018-08-07 CN CN201810890651.0A patent/CN109144639B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140139681A1 (en) * | 2012-11-21 | 2014-05-22 | Nettalon Security Systems, Inc. | Method and system for monitoring of friend and foe in a security incident |
US20150106786A1 (en) * | 2013-10-16 | 2015-04-16 | International Business Machines Corporation | Symmetrical dimensions in context-oriented programming to optimize software object execution |
CN104243611A (zh) * | 2014-09-30 | 2014-12-24 | 浪潮软件股份有限公司 | 一种基于分发思想的消息服务中间件系统 |
CN107623633A (zh) * | 2016-07-14 | 2018-01-23 | 中兴通讯股份有限公司 | 路径建立方法、装置及网络节点 |
CN106487931A (zh) * | 2016-12-13 | 2017-03-08 | 中国人民解放军国防科学技术大学 | 一种基于相似文件协同的BitTorrent数据分发系统及方法 |
CN107566997A (zh) * | 2017-07-05 | 2018-01-09 | 宇龙计算机通信科技(深圳)有限公司 | 短消息传输方法、装置、用户终端及计算机可读存储介质 |
CN107368311A (zh) * | 2017-07-10 | 2017-11-21 | 武汉斗鱼网络科技有限公司 | 一种多Fragment之间的通信方法及系统 |
CN107438098A (zh) * | 2017-07-17 | 2017-12-05 | 网宿科技股份有限公司 | 一种动态内容分发方法及其系统 |
Non-Patent Citations (1)
Title |
---|
坦GA: "Bilibili高并发实时弹幕系统的实现", 《HTTPS://BLOG.CSDN.NET/TANGA842428/ARTICLE/DETAILS/80611961》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112565916A (zh) * | 2020-11-26 | 2021-03-26 | 厦门理工学院 | 一种弹幕显示方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109144639B (zh) | 2021-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190050264A1 (en) | Edge computing platform | |
KR102107708B1 (ko) | 자동 애플리케이션 업데이트 | |
WO2021203820A1 (zh) | 基于区块链的数据同步方法、装置及计算机可读存储介质 | |
CN106933664B (zh) | 一种Hadoop集群的资源调度方法及装置 | |
CN109413502B (zh) | 多线程弹幕消息分发方法、装置、设备及存储介质 | |
US9531827B1 (en) | Push notification delivery system with feedback analysis | |
CN109062650A (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
JP2021518955A (ja) | プロセッサコアのスケジューリング方法、装置、端末及び記憶媒体 | |
US9582340B2 (en) | File lock | |
US20200249994A1 (en) | Leader election with lifetime term | |
US20240311179A1 (en) | Workflow processing method, electronic device, and storage medium | |
US8438284B2 (en) | Network buffer allocations based on consumption patterns | |
US20200252314A1 (en) | Method and apparatus for managing network connection, and storage medium | |
CN104714839A (zh) | 一种控制进程生命期的方法和装置 | |
CN109144639A (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN108810645B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
WO2024001411A1 (zh) | 多线程调度方法及装置 | |
CN109005465A (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN109274988B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN109309848B (zh) | 基于重试机制的弹幕分发方法、装置、设备及存储介质 | |
CN109656939B (zh) | 一种缓存更新方法、装置、设备和存储介质 | |
CN109086107B (zh) | 弹幕消息分发方法、装置、设备及存储介质 | |
CN116582407A (zh) | 一种基于深度强化学习的容器化微服务编排系统及方法 | |
US12026501B2 (en) | Automated process and system update scheduling in a computer network | |
CN109246470B (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 |