多线程弹幕消息分发方法、装置、设备及存储介质制造方法及图纸

技术编号:20494600 阅读:38 留言:0更新日期:2019-03-02 23:59
本发明专利技术实施例公开了一种多线程弹幕消息分发方法、装置、设备及存储介质。该方法包括:在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;从消息集合中获取所述当前并发数量的目标弹幕消息,并确定所述当前并发数量的目标线程;利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息。通过上述技术方案,实现了弹幕消息的高效分发,提高了弹幕消息的分发时效性。

Multithread Barrage Message Distribution Method, Device, Equipment and Storage Media

The embodiment of the present invention discloses a multi-thread bullet screen message distribution method, device, device and storage medium. The method includes: determining the current concurrent number of ballistic curtain messages according to the current system state parameter value when satisfying the multi-threaded ballistic curtain distribution condition; obtaining the current concurrent number of target ballistic curtain messages from the message set and determining the current concurrent number of target threads; using each target thread, distributing each description in parallel based on the ballistic curtain message distribution mechanism. Target barrage message. Through the above technical scheme, the efficient distribution of the bullet-screen message is realized, and the timeliness of the distribution of the bullet-screen message is improved.

【技术实现步骤摘要】
多线程弹幕消息分发方法、装置、设备及存储介质
本专利技术实施例涉及信息通信技术,尤其涉及一种多线程弹幕消息分发方法、装置、设备及存储介质。
技术介绍
在音视频播放/直播应用软件中会大量使用弹幕消息。通常,弹幕消息是由传输及处理弹幕消息的服务器(即弹幕服务器)发送至应用软件,再由应用软件中具有分发弹幕消息功能的弹幕分发模块将接收的弹幕消息分发至各个需要接收弹幕消息的弹幕接收模块。当弹幕服务器发送的弹幕消息的数量较多,而弹幕分发模块无法及时进行弹幕消息的分发时,通常会在弹幕分发模块中建立一个消息集合,以存储未分发的弹幕消息。但是,现有的弹幕消息分发模式是弹幕分发模块按照弹幕服务器下发弹幕消息的顺序,逐条从消息缓存集合中获取缓存的弹幕消息并进行分发,这就会导致弹幕分发模块的分发效率低,降低弹幕消息的分发时效性。
技术实现思路
本专利技术实施例提供一种多线程弹幕消息分发方法、装置、设备及存储介质,以实现弹幕消息的高效分发,提高弹幕消息的分发时效性。第一方面,本专利技术实施例提供了一种多线程弹幕消息分发方法,包括:在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;从消息集合中获取所述当前并发数量的目标弹幕消息,并确定所述当前并发数量的目标线程;利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息。第二方面,本专利技术实施例还提供了一种多线程弹幕消息分发装置,该装置包括:当前并发数量确定模块,用于在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;目标线程确定模块,用于从消息集合中获取所述当前并发数量的目标弹幕消息,并确定所述当前并发数量的目标线程;弹幕消息分发模块,用于利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息。第三方面,本专利技术实施例还提供了一种设备,该设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本专利技术任意实施例所提供的多线程弹幕消息分发方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本专利技术任意实施例所提供的多线程弹幕消息分发方法。本专利技术实施例通过在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;从消息集合中获取当前并发数量的目标弹幕消息,并确定当前并发数量的目标线程;利用各个目标线程,基于弹幕消息分发机制,并行分发各个目标弹幕消息。在利用弹幕消息并行分发技术提高弹幕消息分发效率的基础上,实现了根据系统状态动态地确定弹幕消息并行分发的数量,有效降低因系统繁忙而导致弹幕消息并行分发进程的阻塞程度,进一步提高了弹幕消息的分发效率和分发时效性。附图说明图1是本专利技术实施例一中的一种多线程弹幕消息分发方法的流程图;图2是本专利技术实施例二中的一种多线程弹幕消息分发方法的流程图;图3是本专利技术实施例三中的一种多线程弹幕消息分发装置的结构示意图;图4是本专利技术实施例四中的一种设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一本实施例提供的多线程弹幕消息分发方法可适用于Android客户端中的音视频播放/直播应用软件中的弹幕消息分发,尤其适用于在弹幕消息数量较多,且一条弹幕消息仅发送至一个弹幕接收对象的情况。该方法可以由多线程弹幕消息分发装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在搭载Android系统的具有弹幕消息分发功能的设备中,例如典型的是用户终端设备,例如手机、平板电脑或智能电视等。参见图1,本实施例的方法具体包括如下步骤:S110、在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量。其中,多线程弹幕分发条件是指预先设定的,用于触发弹幕消息多线程并行分发的条件,例如可以是新的弹幕消息的接收,也可以是弹幕消息分发进度,还可以是设置定时器等。系统状态参数是指能够表征系统运行状态的参数。当前系统状态参数是指本操作执行时刻(即当前时刻)的系统状态参数。当前系统状态参数值是指当前系统状态参数的值。并发数量是指并行分发的弹幕消息的数量。当前并发数量是指当前时刻的并发数量。示例性地,当前系统状态参数包括当前CPU占用率、当前内存占用率和当前系统温度中的至少一种。其中,当前CPU占用率是指当前时刻Android客户端的系统CPU使用率。当前内存占用率是指当前时刻Android客户端的系统内存的使用率。当前系统温度是指当前时刻搭载Android客户端的设备的温度。具体实施时,可以利用当前CPU占用率、当前内存占用率和当前系统温度中的至少一种来表征当前Android系统的运行状态。这样设置的好处在于可以从至少一个角度反映当前系统的繁忙程度。具体地,本操作执行时,弹幕分发模块对应的弹幕分发对象首先判断是否满足多线程弹幕分发条件。例如,弹幕分发对象判断其是否接收到弹幕服务器发送的新的弹幕消息,或者判断其是否将上一批弹幕消息分发完毕,或者判断设置的定时器的定时周期是否到达等,如果判断结果为是,那说明已经满足了多线程弹幕分发条件。此时,弹幕分发对象需要获取当前系统状态参数值,例如当前CPU占用率、当前内存占用率和当前系统温度中的至少一种当前系统状态参数的值。如果当前系统状态参数值较高,则表明系统当前功耗较大,系统较为繁忙,当前可用系统资源较少,无法承担过多的并行弹幕分发任务,此时便可将当前并发数量设置为一个较小的数值;反之,表明系统的当前可用资源丰富,可以承担较多的并行弹幕分发任务,此时便可将当前并发数量设置为一个较大的数值。本实施例中可以将系统状态参数值与弹幕消息的并发数量的对应关系设置为具有离散数值的查找表,以系统状态参数为CPU占用率为例,该查找表便可以如表1中所示,在查找表中存储系统状态参数值的各个取值范围及每个取值范围对应的并发数量。表1系统状态参数值与并发数量的查找表CPU占用率(%)(系统状态参数值)并发数量(个)0-209或1021-407或841-605或661-803或481-1001或2那么,上述依据当前系统状态参数值确定弹幕消息的当前并发数量的过程便为:根据当前系统状态参数值确定出其对应的取值范围,如当前系统状态值为CPU占用率10%,则确定其对应的取值范围为0%-20%,之后将查找表中该取值范围对应的并发数量确定为当前并发数量,即为9或10。这样设置的好处在于当前并发数量的确定速度快,可进一步提高弹幕消息的分发效率。本实施例中也可以将系统状态参数值与弹幕消息的并发数量的对应关系设置为数值计算公式,将系统状态参数值设置为因变量,而将并发数量设置为应变量。后续便可以直接根据当前系统状态参数值计算获得相应的当前并发数量。这样设置的好处在于,可以更加精确的确定当前并发数量,从而后续确定更加合适数量的并发线程,可进一步减少线程阻塞的情况,进而进一步提高弹幕消息的分发效率。S120、从消息集合中获取当前并发数量的目标弹幕消息,本文档来自技高网...

【技术保护点】
1.一种多线程弹幕消息分发方法,其特征在于,包括:在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;从消息集合中获取所述当前并发数量的目标弹幕消息,并确定所述当前并发数量的目标线程;利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息。

【技术特征摘要】
1.一种多线程弹幕消息分发方法,其特征在于,包括:在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量;从消息集合中获取所述当前并发数量的目标弹幕消息,并确定所述当前并发数量的目标线程;利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息。2.根据权利要求1所述的方法,其特征在于,所述满足多线程弹幕分发条件包括:消息并发定时器的当前定时周期到达。3.根据权利要求2所述的方法,其特征在于,所述当前定时周期依据所述当前并发数量的上一个历史并发数量确定。4.根据权利要求1所述的方法,其特征在于,当前系统状态参数包括当前CPU占用率、当前内存占用率和当前系统温度中的至少一种。5.根据权利要求4所述的方法,其特征在于,所述依据当前系统状态参数值确定弹幕消息的当前并发数量包括:当所述系统状态参数为所述当前CPU占用率时,按照以下公式依据所述当前CPU占用率确定所述当前并发数量:ParaNum=10-(int)(CpuOcRate*100/10)其中,ParaNum为所述当前并发数量,int为取整关键字,CpuOcRate为所述当前CPU占用率。6.根据权利要求1所述的方法,其特征在于,所述利用各个所述目标线程,基于弹幕消息分发机制,并行分发各个所述目标弹幕消息包括:在每个所述目标线程中,以所述目标线程对应的线程目标弹幕消息为函数输入参数,通过预先持有的目标接收对象调用弹幕分发函数,将所述线程目标弹幕消息分发至所述目标接收对象;其中...

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

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

1