利索能及
我要发布
收藏
专利号: 2018111514007
申请人: 武汉斗鱼网络科技有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-24
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于重试机制的弹幕分发方法,其特征在于,包括:

在满足多线程弹幕分发条件时,弹幕分发对象依据当前系统状态参数值确定弹幕消息的当前并发数量,并从消息集合中获取所述当前并发数量的待分发弹幕消息,以及确定所述当前并发数量的分发线程;

所述弹幕分发对象利用各个所述分发线程,基于弹幕消息分发机制,将各个所述待分发弹幕消息并行分发至与各个所述待分发弹幕消息一一对应的各个第一弹幕接收对象;

若所述弹幕分发对象通过预先构建的反馈通道接收到各个目标弹幕接收对象发送的失败反馈消息,则针对每个目标弹幕接收对象,在所述目标弹幕接收对象对应的目标分发重试次数小于预设重试次数时,所述弹幕分发对象确定所述目标弹幕接收对象对应的目标弹幕消息及重试线程;

所述弹幕分发对象利用所述重试线程,基于所述弹幕消息分发机制,重新将所述目标弹幕消息分发至所述目标弹幕接收对象。

2.根据权利要求1所述的方法,其特征在于,所述满足多线程弹幕分发条件包括:消息并发定时器的当前定时周期到达,其中,所述当前定时周期依据所述当前并发数量的上一个历史并发数量确定。

3.根据权利要求1所述的方法,其特征在于,所述依据当前系统状态参数值确定弹幕消息的当前并发数量包括:当所述系统状态参数为所述当前CPU占用率时,所述弹幕分发对象依据所述当前CPU占用率和预先设定的并发数量求解公式确定所述当前并发数量。

4.根据权利要求1所述的方法,其特征在于,所述弹幕消息分发机制包括:

所述弹幕分发对象依据弹幕消息的消息标识,从对象集合中获取与所述消息标识对应的第二弹幕接收对象,其中,所述对象集合存储继承了预先定义的弹幕分发协议的弹幕接收对象,所述弹幕分发协议为具有公有权限标识符的接口类型的协议;

所述弹幕分发对象依据所述弹幕分发协议,将所述第二弹幕接收对象转换为弹幕分发协议类型的对象,作为目标接收对象;

所述弹幕分发对象以所述弹幕消息为函数输入参数,通过所述目标接收对象调用弹幕分发函数,将所述弹幕消息分发至所述目标接收对象,其中,所述弹幕分发函数为所述弹幕分发协议的内部函数。

5.根据权利要求1所述的方法,其特征在于,所述弹幕分发对象通过预先构建的反馈通道接收到各个目标弹幕接收对象发送的失败反馈消息包括:每个所述目标弹幕接收对象以整型类型的目标哈希码值、转换为祖先类Object类型的反馈弹幕消息和字符串类型的目标消息标识为函数输入参数,通过预先持有的所述弹幕分发对象调用反馈函数,将所述失败反馈消息发送至所述弹幕分发对象,其中,所述反馈函数为所述弹幕分发对象基于预先定义的反馈协议而获得,所述反馈协议为具有公有权限标识符的接口类型的协议;

所述弹幕分发对象通过回调所述反馈函数,获得所述失败反馈消息。

6.根据权利要求1所述的方法,其特征在于,在确定所述目标弹幕接收对象对应的目标分发重试次数小于预设重试次数之前,还包括:所述弹幕分发对象以所述目标弹幕接收对象的目标哈希码值为函数输入参数,调用map集合的值获取函数获得函数返回值,并判断所述函数返回值是否为异常标识,其中,所述map集合存储各个弹幕接收对象的哈希码值和分发重试次数;

若是,则所述弹幕分发对象确定所述目标分发重试次数为0,且调用所述map集合的元素插入函数,将所述目标哈希码值和数值1存入所述map集合;

若否,则所述弹幕分发对象将所述函数返回值作为所述目标弹幕接收对象的目标分发重试次数,并以所述目标哈希码值为函数输入参数,调用所述map集合的值设置函数,将所述目标分发重试次数累加1,以更新所述目标弹幕接收对象的分发重试次数。

7.根据权利要求5所述的方法,其特征在于,若所述目标弹幕消息处理失败,且检测到反馈通道未构建,则各个目标弹幕接收对象将所述目标弹幕消息按序缓存至消息处理集合,并在接收到下一条待分发弹幕消息时,将该下一条待分发弹幕消息按序缓存至所述消息处理集合,且从所述消息处理集合中按序获取缓存弹幕消息进行处理。

8.一种基于重试机制的弹幕分发装置,其特征在于,包括弹幕分发模块,所述弹幕分发模块包括并发弹幕及线程确定单元、弹幕并行分发单元、重试弹幕及线程确定单元和弹幕重试分发单元;

所述并发弹幕及线程确定单元,用于在满足多线程弹幕分发条件时,依据当前系统状态参数值确定弹幕消息的当前并发数量,并从消息集合中获取当前并发数量的待分发弹幕消息,以及确定当前并发数量的分发线程;

所述弹幕并行分发单元,用于利用各个分发线程,基于弹幕消息分发机制,将各个待分发弹幕消息并行分发至与各个待分发弹幕消息一一对应的各个第一弹幕接收对象;

所述重试弹幕及线程确定单元,用于若通过预先构建的反馈通道接收到各个目标弹幕接收对象发送的失败反馈消息,则针对每个目标弹幕接收对象,在目标弹幕接收对象对应的目标分发重试次数小于预设重试次数时,弹幕分发对象确定目标弹幕接收对象对应的目标弹幕消息及重试线程;

所述弹幕重试分发单元,用于弹幕分发对象利用重试线程,基于弹幕消息分发机制,重新将目标弹幕消息分发至目标弹幕接收对象。

9.一种设备,其特征在于,所述设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的基于重试机制的弹幕分发方法。

10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7中任一所述的基于重试机制的弹幕分发方法。