[发明专利]基于多线程的流媒体任务的处理方法、装置及计算机设备在审
| 申请号: | 201811419023.0 | 申请日: | 2018-11-26 |
| 公开(公告)号: | CN109753354A | 公开(公告)日: | 2019-05-14 |
| 发明(设计)人: | 马潜;高勇 | 申请(专利权)人: | 平安科技(深圳)有限公司 |
| 主分类号: | G06F9/50 | 分类号: | G06F9/50 |
| 代理公司: | 深圳市立智方成知识产权代理事务所(普通合伙) 44468 | 代理人: | 王增鑫 |
| 地址: | 518000 广东省深圳市福田区福*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 环境变量 多线程 流媒体 线程池 线程 调度策略 任务信息 任务执行 动态平衡 计算机设备 分派 局部变量 客户体验 任务处理 任务分派 线程创建 预先创建 数据处理 多路 封装 匹配 | ||
1.一种基于多线程的流媒体任务的处理方法,其特征在于,所述方法包括:
接收流媒体任务的任务执行请求,所述任务执行请求中包含待执行的目标任务;
提取所述目标任务中的任务信息,依据所述任务信息利用预先创建的线程创建线程池,为所述线程池中的各线程设置对应的环境变量;
依据预先设定的动态平衡调度策略将所述目标任务分派至所述线程池中与所述目标任务匹配的线程,并由所述线程在其自身的环境变量下执行所述目标任务。
2.根据权利要求1所述的基于多线程的流媒体任务的处理方法,其特征在于,所述依据所述任务信息利用预先创建的线程创建线程池,为所述线程池中的各线程设置对应的环境变量,包括:
依据CPU核心数确定最大线程数量并创建对应数量的线程;
依据所述任务信息使用ThreadPoolExecutor类创建所述线程池,其中ThreadPoolExecutor类的构造函数的参数至少包括:核心线程的数量、所述最大线程数量以及保存待执行任务的任务队列。
3.根据权利要求1所述的基于多线程的流媒体任务的处理方法,其特征在于,所述依据预先设定的动态平衡调度策略将所述目标任务分派至所述线程池中与所述目标任务匹配的线程,包括:
依据预设的任务统计函数统计当前各个线程与各线程正在执行的任务的映射关系,并记录各个线程当前正在执行的任务数量;
依据所述任务统计函数的统计结果将所述目标任务分配至当前执行的任务数量最少的线程。
4.根据权利要求1所述的基于多线程的流媒体任务的处理方法,其特征在于,还包括:
中断当前正在运行的线程,捕获中断的任务执行节点的状态信息并保存;
在新的任务执行节点上创建新线程;
利用保存的所述状态信息恢复所述新线程的运行。
5.根据权利要求1所述的基于多线程的流媒体任务的处理方法,其特征在于,所述线程池中还包括饱和处理策略,所述依据预先设定的动态平衡调度策略将所述目标任务分派至所述线程池中与所述目标任务匹配的线程,还包括:
当接收的所述目标任务的数量超过所述最大线程数量范围和所述任务队列容量时,利用所述饱和策略处理超出的目标任务。
6.根据权利要求5所述的基于多线程的流媒体任务的处理方法,其特征在于,所述利用所述饱和策略处理超出的目标任务,包括:
当接收的所述目标任务的数量超过所述最大线程数量范围和所述任务队列容量时不执行新任务,直接抛出异常,提示所述线程池已满;
或者,不执行新任务,也不抛出异常;
或者,将消息队列中的第一个任务替换为当前进来的新任务执行。
7.根据权利要求5所述的基于多线程的流媒体任务的处理方法,其特征在于,所述依据预先设定的动态平衡调度策略将所述目标任务分派至所述线程池中与所述目标任务匹配的线程,还包括:
当接收的所述目标任务的数量未超过所述最大线程数量范围和所述任务队列容量时,为所述目标任务中的流媒体数据设置分布式锁。
8.一种基于多线程的流媒体任务的处理装置,其特征在于,包括:
接收模块,用于接收流媒体任务的任务执行请求,所述任务执行请求中包含待执行的目标任务;
提取模块,用于提取所述目标任务中的任务信息,依据所述任务信息利用预先创建的线程创建线程池,为所述线程池中的各线程设置对应的环境变量;
分派模块,用于依据预先设定的动态平衡调度策略将所述目标任务分派至所述线程池中与所述目标任务匹配的线程,并由所述线程在其自身的环境变量下执行所述目标任务。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现权利要求1至7中任一项所述基于多线程的流媒体任务的处理方法的步骤。
10.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项权利要求所述基于多线程的流媒体任务的处理方法的步骤。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于平安科技(深圳)有限公司,未经平安科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811419023.0/1.html,转载请声明来源钻瓜专利网。





