一种下载直播流的方法及下载服务器的制造方法_2

文档序号:9690894阅读:来源:国知局
的数量为零;
[0045]2)当有下载任务,且没有下载线程时创建下载线程;
[0046]3)当有下载任务,没有空闲的下载线程且下载线程的总数量少于限定的线程数量阈值时,创建下载线程;
[0047]4)如果有下载任务,没有空闲的下载线程,且下载线程的总数量达到限定的线程数量阈值时,下载任务加入等待队列,等待有空闲的下载线程后进行处理。
[0048]进一步,本发明的分配空闲的下载线程处理取出的直播流下载任务,包括:下载任务分配线程分配一个下载线程处理一个直播流下载任务。
[0049]本发明中一个下载线程同一时段仅处理一个下载任务。
[0050]本发明的下载直播流的方法可以应用在需要下载直播音视频的各种场景中,如进行直播的网站或音视频聊天室等。
[0051]例如,应用于聊天室举报录音。由于同一时间可能会有多个聊天室违规,被举报过后需要录制将该时段的语音,由管理员审核后决定对聊天室进行处理。
[0052]聊天室管理服务器负责创建聊天室、聊天室成员管理及销毁聊天室等。聊天室创建时,聊天室管理服务器为创建的聊天室分配一个直播频道(一个RTMP地址),房主通过直播频道分享音频信息,其他成员通过该频道收听。
[0053]当有用户认为聊天室直播内容涉及违规时,可举报该聊天室,即通知聊天室管理服务器该聊天室涉及违规。当聊天室管理服务器接收到通知后,通知直播流下载服务器下载聊天室在某一个时段的直播内容,通知包中携带该聊天室的直播频道(RTMP地址)。
[0054]当直播流下载服务器接收到下载任务请求时,连接聊天室直播频道,下载聊天室管理服务器要求的某个时段的直播音频数据。
[0055]直播流下载服务器采用本发明的下载直播流的方法进行直播音频数据的录制。直播流下载服务器为多线程服务器,包含:主线程、下载任务分配线程及多个下载线程。
[0056]如图2所示,本发明还提供了一种下载服务器,包括:下载任务创建单元和下载任务分配单元,其中:
[0057]所述下载任务创建单元,用于控制主线程接收直播流下载请求,向下载任务分配线程维护的任务列表中添加直播流下载任务;
[0058]所述下载任务分配单元,用于控制所述下载任务分配线程在发现所述任务列表中存在直播流下载任务时,从所述任务列表中取出直播流下载任务,查看所维护的空闲线程列表中是否存在空闲的下载线程,如果存在空闲的下载线程,则分配空闲的下载线程处理取出的直播流下载任务,由分配的空闲的下载线程执行直播流下载任务进行直播流的下载。
[0059]进一步,所述下载任务分配单元,还用于控制所述下载任务分配线程在所述空闲线程列表中不存在空闲的下载线程时,判断当前下载线程的总数量是否达到线程数量阈值,如果未达到,则创建下载线程处理取出的直播流下载任务。
[0060]进一步,所述下载任务分配单元,还用于控制所述下载任务分配线程在判断当前下载线程的总数量达到所述线程数量阈值时,将取出的下载任务加入等待队列,等待有直播流下载任务完成后,分配空闲的下载线程进行处理。
[0061]进一步,所述下载任务分配单元,还用于控制所述下载任务分配线程在初始阶段不存在直播流下载任务的情况下,不创建下载线程,在存在直播流下载任务且无下载线程的情况下,才创建下载线程。
[0062]进一步,所述下载任务分配单元控制所述下载任务分配线程分配空闲的下载线程处理取出的直播流下载任务,包括:
[0063]控制所述下载任务分配线程分配一个下载线程处理一个直播流下载任务。
[0064]虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
【主权项】
1.一种下载直播流的方法,其特征在于,包括: 主线程接收直播流下载请求,向下载任务分配线程维护的任务列表中添加直播流下载任务; 所述下载任务分配线程在发现所述任务列表中存在直播流下载任务时,从所述任务列表中取出直播流下载任务,查看所维护的空闲线程列表中是否存在空闲的下载线程,如果存在空闲的下载线程,则分配空闲的下载线程处理取出的直播流下载任务,由分配的空闲的下载线程执行直播流下载任务进行直播流的下载。2.根据权利要求1所述的方法,其特征在于,所述方法还包括: 所述下载任务分配线程在所述空闲线程列表中不存在空闲的下载线程时,判断当前下载线程的总数量是否达到线程数量阈值,如果未达到,则创建下载线程处理取出的直播流下载任务。3.根据权利要求2所述的方法,其特征在于,所述方法还包括: 所述下载任务分配线程如果判断当前下载线程的总数量达到所述线程数量阈值,则将取出的下载任务加入等待队列,等待有直播流下载任务完成后,分配空闲的下载线程进行处理。4.根据权利要求2或3所述的方法,其特征在于: 所述下载任务分配线程在初始阶段不存在直播流下载任务的情况下,并不创建下载线程,在存在直播流下载任务且无下载线程的情况下,才创建下载线程。5.根据权利要求4所述的方法,其特征在于,所述分配空闲的下载线程处理取出的直播流下载任务,包括: 所述下载任务分配线程分配一个下载线程处理一个直播流下载任务。6.一种下载服务器,其特征在于,包括:下载任务创建单元和下载任务分配单元,其中: 所述下载任务创建单元,用于控制主线程接收直播流下载请求,向下载任务分配线程维护的任务列表中添加直播流下载任务; 所述下载任务分配单元,用于控制所述下载任务分配线程在发现所述任务列表中存在直播流下载任务时,从所述任务列表中取出直播流下载任务,查看所维护的空闲线程列表中是否存在空闲的下载线程,如果存在空闲的下载线程,则分配空闲的下载线程处理取出的直播流下载任务,由分配的空闲的下载线程执行直播流下载任务进行直播流的下载。7.根据权利要求6所述的下载服务器,其特征在于: 所述下载任务分配单元,还用于控制所述下载任务分配线程在所述空闲线程列表中不存在空闲的下载线程时,判断当前下载线程的总数量是否达到线程数量阈值,如果未达到,则创建下载线程处理取出的直播流下载任务。8.根据权利要求7所述的下载服务器,其特征在于: 所述下载任务分配单元,还用于控制所述下载任务分配线程在判断当前下载线程的总数量达到所述线程数量阈值时,将取出的下载任务加入等待队列,等待有直播流下载任务完成后,分配空闲的下载线程进行处理。9.根据权利要求7或8所述的下载服务器,其特征在于: 所述下载任务分配单元,还用于控制所述下载任务分配线程在初始阶段不存在直播流下载任务的情况下,不创建下载线程,在存在直播流下载任务且无下载线程的情况下,才创建下载线程。10.根据权利要求9所述的下载服务器,其特征在于,所述下载任务分配单元控制所述下载任务分配线程分配空闲的下载线程处理取出的直播流下载任务,包括: 控制所述下载任务分配线程分配一个下载线程处理一个直播流下载任务。
【专利摘要】本发明公开了一种下载直播流的方法及下载服务器,所示方法包括:主线程接收直播流下载请求,向下载任务分配线程维护的任务列表中添加直播流下载任务;下载任务分配线程在发现任务列表中存在直播流下载任务时,从任务列表中取出直播流下载任务,查看所维护的空闲线程列表中是否存在空闲的下载线程,如果存在空闲的下载线程,则分配空闲的下载线程处理取出的直播流下载任务,由分配的空闲的下载线程执行直播流下载任务进行直播流的下载。本发明能够满足用户对直播流的下载需求,并且可以同时下载多个直播音视频。
【IPC分类】H04L29/06, H04N21/231, H04L12/927
【公开号】CN105450551
【申请号】CN201510883313
【发明人】王恒, 陈正超, 周平
【申请人】贵阳朗玛信息技术股份有限公司
【公开日】2016年3月30日
【申请日】2015年12月7日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1