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

摘要:

权利要求书:

1.一种弹幕消息的动态分发方法,其特征在于,包括:在满足数据上报条件时,获取分发弹幕消息的分发压力参数值;

依据所述分发压力参数值生成序列化对象,并调用事件对象中的第一字段值设置函数,将所述序列化对象存储至所述事件对象;

以所述事件对象为函数输入参数,通过事件巴士对象调用事件消息投递函数,将所述事件对象发布至所述事件巴士对象对应的事件总线中,以使顶级分发对象依据所述分发压力参数值确定消息承压值,并依据所述消息承压值分发弹幕消息;

其中,所述分发压力参数表征次级分发对象的弹幕消息分发压力的参数;所述分发压力参数值表述所述分发压力参数的值;所述次级分发对象表示对弹幕消息进行分发处理的下一层级的弹幕分发类的实例化对象;与所述次级分发对象相对设置的是所述顶级分发对象,其是对所述弹幕消息进行分发处理的上一层级的所述弹幕分发类的实例化对象;

其中,分发压力参数包括历史消息承载量、当前剩余消息承载率、当前CPU空闲率和当前剩余内存容量中的至少一种;所述分发压力参数为所述当前剩余消息承载率时,所述获取分发弹幕消息的分发压力参数值包括:获取预先构建的弹幕消息集合的当前元素数量;

依据所述当前元素数量和消息承载总量,确定所述当前剩余消息承载率;其中,所述消息承载总量根据CPU工作频率和CPU核数确定,或者根据所述CPU工作频率、所述CPU核数、当前CPU占用率和当前内存占用率确定。

2.根据权利要求1所述的方法,其特征在于,所述分发压力参数为所述当前CPU空闲率时,所述获取分发弹幕消息的分发压力参数值包括:通过系统运行时类调用运行时对象获取函数获取系统运行时对象,并调用所述系统运行时对象的命令执行函数触发执行TOP命令,获得进程对象;

调用所述进程对象的输入流对象获取函数获得字节输入流对象,并依据所述字节输入流对象生成字符输入流对象;

依据所述字符输入流对象生成字符读取对象,并调用所述字符读取对象的行输出函数获得所述字符输出流对象中的首行数据;

依据所述首行数据确定所述当前CPU空闲率。

3.根据权利要求1所述的方法,其特征在于,所述分发压力参数为所述当前剩余内存容量时,所述获取分发弹幕消息的分发压力参数值包括:通过系统上下文环境类调用系统服务获取函数获得活动窗口管理服务,并依据所述活动窗口管理服务生成活动窗口管理对象;

调用所述活动窗口管理对象的内存信息获取函数获得内存信息对象,并调用所述内存信息对象的可用内存获取函数,获得当前内存容量,作为所述当前剩余内存容量。

4.根据权利要求1所述的方法,其特征在于,所述依据所述分发压力参数值生成序列化对象包括:

通过预先构建的反馈对象调用与所述分发压力参数值对应的第二字段值设置函数,将所述分发压力参数值存储至所述反馈对象;

以所述反馈对象为函数输入参数,调用对象序列化函数,生成所述序列化对象。

5.根据权利要求1所述的方法,其特征在于,所述满足数据上报条件包括数据上报定时器的定时周期到达,或者接收到所述顶级分发对象的数据上报通知消息。

6.一种弹幕消息的动态分发装置,其特征在于,包括:参数值获取模块,用于在满足数据上报条件时,获取分发弹幕消息的分发压力参数值;

事件对象确定模块,用于依据所述分发压力参数值生成序列化对象,并调用事件对象中的第一字段值设置函数,将所述序列化对象存储至所述事件对象;

数据上报模块,用于以所述事件对象为函数输入参数,通过事件巴士对象调用事件消息投递函数,将所述事件对象发布至所述事件巴士对象对应的事件总线中,以使顶级分发对象依据所述分发压力参数值确定消息承压值,并依据所述消息承压值分发弹幕消息;

其中,所述分发压力参数表征次级分发对象的弹幕消息分发压力的参数;所述分发压力参数值表述所述分发压力参数的值;所述次级分发对象表示对弹幕消息进行分发处理的下一层级的弹幕分发类的实例化对象;与所述次级分发对象相对设置的是所述顶级分发对象,其是对所述弹幕消息进行分发处理的上一层级的所述弹幕分发类的实例化对象;

其中,分发压力参数包括历史消息承载量、当前剩余消息承载率、当前CPU空闲率和当前剩余内存容量中的至少一种;所述分发压力参数为所述当前剩余消息承载率时,所述获取分发弹幕消息的分发压力参数值包括:获取预先构建的弹幕消息集合的当前元素数量;

依据所述当前元素数量和消息承载总量,确定所述当前剩余消息承载率;其中,所述消息承载总量根据CPU工作频率和CPU核数确定,或者根据所述CPU工作频率、所述CPU核数、当前CPU占用率和当前内存占用率确定。

7.一种设备,其特征在于,所述设备包括:一个或多个处理器;

存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1‑5中任一所述的弹幕消息的动态分发方法。

8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1‑5中任一所述的弹幕消息的动态分发方法。