一种流媒体的转发方法和系统的制作方法

文档序号:7553725阅读:160来源:国知局
专利名称:一种流媒体的转发方法和系统的制作方法
技术领域
本发明涉及流媒体通讯技术,尤其涉及一种流媒体的转发方法和系统。
背景技术
流媒体又称流式媒体,是一种新型的媒体传输方式。流式传输方式将源数据经过特殊的压缩方式分成一个个压缩包,由媒体服务器向用户连续的发送。流媒体转发是同一个音视频源的数据向多个用户终端发送的过程。现有的流媒体转发的方式和策略大多是固定带宽和固定用户数的转发服务,当流媒体转发服务器达到最大负载时,将直接拒绝新的用户转发。所以会出现先接入转发占用服务器资源造成后来的重要用户的转发被拒绝,此外,某些先前的转发过时后也会占用服务器资源。这些会造成整个流媒体转发服务器性能低下,成本高昂。

发明内容
有鉴于此,本发明要解决的技术问题是提供一种流媒体的转发方法和系统,以保证重要的转发不被拒绝和中断,同时充分利用流媒体转发服务器的资源,提高服务器的转发效率。本发明解决上述技术问题所采用的技术方案如下:根据本发明的一个方面,提供的一种流媒体的转发方法包括:当收到用户终端上报的转发请求时,根据用户权限和/或音视频源给转发设置初始优先级,并放入待转发队列中根据优先级排队;周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发;周期性地在正在转发队列中根据每个转发的簿记信息调整转发的优先级。优选的,从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源包括:从待转发队列中取出优先级最高的转发;判断流媒体转发服务器是否有足够的资源执行该转发,如有足够的资源,则直接将该优先级最高的转发放入正在转发队列进行分配资源;如果没有足够的资源,则进一步查找正在转发队列中是否存在优先级低于最高优先级的转发,若存在,则释放其中优先级最低的转发的资源,并将优先级最低的转发放入待转发队列,然后将优先级最高的转发放入正在转发队列进行分配资源。优选地,根据正在转发队列中的每个转发的簿记信息动态调整转发的优先级包括:对优先级小于阀值A的转发根据其已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级;阀值A为优先级不能被降低的优先级阀值;
根据转发的动态相对优先级和当前优先级调整转发的优先级。
优选地,上述方法还包括:
当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变;
当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。
优选地,上述方法还包括:
当接收到音视频源报警时,将待转发队列中和正在转发对列中的该音视频源对应的所有转发的优先级暂时提高到阀值A以上;
当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。
根据本发明的另一个方面,提供的一种流媒体的转发系统,包括新请求处理模块、资源分配模块和优先级调整模块,其中:
新请求处理模块,用于当接收到用户终端上报的转发请求时,根据用户权限和/或视频源给转发设置初始优先级,并放入待转发队列中根据优先级排队;
资源分配模块,用于周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发;
优先级调整模块,用于周期性地在正在转发队列中根据每个转发的簿记信息调整转发的优先级。
优选地,资源分配模块进一步包括转发获取单元、资源判断单元、资源释放单元和资源分配单元,其中:
转发获取单元,用于从待转发队列中取出优先级最高的转发;
资源判断单元,用于判断流媒体转发服务器是否有足够的资源执行优先级最高的转发;
资源释放单元,用于当没有足够的资源执行优先级最高的转发时,进一步查找正在转发队列中是否存在优先级低于所述优先级最高的转发,若存在,则释放其中优先级最低的转发的资源,并将优先级最低的转发放入待转发队列;
资源分配单元,用于将优先级最高的转发放入正在转发队列进行分配资源,执行转发。
优选地,优先级调整模块包括判断单元、计算单元和更新单元,其中:
判断单元,用于判断转发的优先级是否小于阀值A ;
计算单元,用于对小于阀值A的转发根据其已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级,阀值A为优先级不能被降低的优先级阀值;
更新单元,用于根据转发的动态相对优先级和当前优先级调整转发的优先级。
优选地,上述系统还包括异常事件处理模块,用于当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变;当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。
优选地,上述系统还包括报警事件处理模块,用于当接收音视频源报警时,将待转发队列中和正在转发对列中该音视频源对应的所有转发的优先级暂时提高到阀值A以上;当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。根据本发明的实施例,在接收用户终端转发请求时赋予初始化优先级,根据优先级执行抢占转发资源,并动态调整转发优先级,根据动态优先级调整转发过程,保证重要的转发过程不被拒绝和中断,同时使流媒体转发服务器转发远远多于最大转发流媒体路数,充分利用了流媒体转发服务器的资源,提高了服务器的转发效率。


图1为本发明实施例提供的一种流媒体的转发方法的流程图;图2为本发明实优选施例提供的一种资源分配处理方法的流程图;图3为本发明实优选施例提供的一种优先级调整方法的流程图;图4为本发明实施例提供的一种流媒体的转发系统结构示意图;图5为本发明优选实施例提供的一种资源分配模块的结构示意图;图6为本发明优选实施例提供的一种优先级调整模块的结构示意图。
具体实施例方式名词解释:音视频源:转发请求的音视频数据来源,可以是网络摄像机,网络视频录像机等各种网络设备。转发:用户终端向流媒体转发服务器请求将某个音视频源的数据发送到该客户终端;待转发:流媒体转发服务器接收转发请求但还未开始转发或者转发暂停还未恢复转发;正在转发:流媒体转发服务器正在转发数据;休眠:流媒体转发服务器停止该转发过程,只有当收到唤醒请求时才恢复转发。为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚、明白,以下结合附图和实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示为本发明实施例提供的一种流媒体的转发方法的流程图,包括以下步骤:S101、接收到用户终端上报的转发请求时,根据用户权限和/或音视频源给转发设置初始优先级,并放入待转发队列中根据优先级排队;具体地,本步骤进一步包括:流媒体转发服务器接收用户转发请求;根据用户终端上报的转发中包含的用户权限、转发的视频源等信息给本次转发设定一个基本的转发优先级;将转发放入待转发队列,根据优先级排队,整个待转发队列可以根据优先级从高到低排序。其中,优先级设定规则可以为:最高权限用户如管理员将初始优先级设定在阀值A之上保证此用户的转发永远不被抢占,普通用户的优先级统一设定在阀值A之下。
S102、周期性地从待转发队列中取出优先级最高的转发放入正在转发队列中进行分配资源,执行转发;具体来说,本步骤进一步包括:从待转发队列中取出优先级最高的转发;判断流媒体转发服务器是否有足够的资源执行优先级最高的转发,如有足够的资源,则直接将该优先级最高的转发放入正在转发队列进行分配资源;如果没有足够的资源,则进一步查找正在转发队列中是否存在优先级低于最高优先级的转发,若存在,则释放其中优先级最低的转发的资源并将其放入待转发队列,然后再将优先级最高的转发放入正在转发队列进行分配资源。S103、周期性地在正在转发队列中根据每个转发的簿记信息调整转发的优先级。本步骤中可以对优先级大于阀值A的转发不做调整,对优先级小于阀值A的转发采用下述方式进行调整:根据转发的已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级;将转发的优先级更新为当前优先级加上动态相对优先级。优选地,为了能将异常状态的转发中止或将转发从异常状态中恢复,在本发明的另外一个实施例中,本方法中还包括异常处理的步骤,具体包括:当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变;当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。优选地,为了进一步保证有报警的音视频转发不被其他转发中断,本发明的又一个实施例中,本方法中还包括报警处理的步骤,具体包括:当接收到音视频源报警时,在休眠队列中查找该音视频源对应的所有转发,将这些转发从休眠队列中移除并增加到待转发队列;将待转发队列中和正在转发对列中该音视频源对应的所有转发的优先级暂时提高到阀值A以上;当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。通过本发明的实施例,在接收用户终端转发请求时赋予初始化优先级,根据优先级执行抢占转发资源,并动态调整转发优先级,根据动态优先级调整转发过程,保证重要的转发过程不被拒绝和中断,同时使流媒体转发服务器转发远远多于最大转发流媒体路数,充分利用了流媒体转发服务器的资源,提高了服务器的转发效率。如图2所示为本发明优选实施例提供的一种资源分配处理流程图,图中:S201、流媒体转发服务器检查待转发队列是否存在转发;S202、如果待转发队列存在转发,则执行步骤S203,否则执行步骤S209;S203、取出待转发队列中优先级最高的转发,并检查转发服务器资源;S204、判断是否有足够的资源执行该转发,如果足够,则执行步骤S208,否则执行步骤S205 ;具体来说,判断该转发所要求的各种资源,CPU,带宽,缓存服务器是否能满足。S205、查找正在转发队列中优先级低于该优先级的转发;S206、如果存在优先级低的转发,则执行步骤S207,否则执行步骤S209;
S207、释放其中优先级最低的转发的资源,并将其放入待转发队列;
S208、将转发放入正在转发队列执行转发;
具体来说,将转发放入正在转发队列,分配资源,连接视频源和用户在终端,执行转发过程。
S209、结束流程。
本过程在流媒体转发服务器上周期性执行,执行周期根据流媒体转发服务器的性能配置。
通过本发明的实施例的方法,根据优先级执行抢占转发资源,保证重要的转发过程不被拒绝。
如图3所示为本发明优选实施例提供的一种优先级调整方法的流程图,图中:
S301、流媒体转发服务器检查正在转发队列的每个转发簿记信息;
其中,簿记信息包括已转发时长、已转发数据量和资源占用情况等。
S302、判断转发优先级是否小于阀值A,如果是,则执行步骤S305,否则执行步骤S303 ;
S303、根据转发的簿记信息生成动态相对优先级;
本步骤中,动态相对优先级可正可负,相对动态优先级可以根据各种算法生成:
方式1:根据统计的已转发时长数据生成动态优先级
方式2:根据统计的转发占用系统带宽资源数据生成动态优先级
方式3:根据统计的已转发的数据量生成动态优先级
此外还可以综合以上各种方法生成动态优先级,将以上每种方法设定一个权值,此权值表示此种方法生成的动态优先级在最终动态优先级中的百分比,最后将各种方法计算的优先级加权得到最终的优先级。比如根据以上三种方法生成的动态优先级为Hl,H2,H3,权值分别为Tl,T2,T3最终优先级为:
H=H1XT1+H2XT2+H3XT3
S304、根据转发的动态相对优先级和当前优先级调整转发的优先级;
具体来说,将转发的当前优先级加上此动态相对优先级更新为该转发的新优先级,并将簿记信息清零。
S305、结束流程。
下面以第一种方法根据统计的已转发时长数据生成动态优先级的方法举例,根据已转发时长的动态优先级生成规则如下:
将该转发簿记信息中的已转发时间与阀值(阀值B)做比较,大于阀值B,相对优先级为-1,将该转发簿记信息中已转发时间与阀值(阀值C)做比较,小于阀值C相对优先级为I。所有已转发时间在阀值B与阀值C之间的转发相对优先级为O。
阀值说明:
阀值A:阀值A用来保证紧急的转发任务的优先级不会被降低,不会被其他的转发抢占。
阀值B:阀值B为转发时长的高水位标识,高于此阀值的转发优先级会降低。
阀值C:阀值C为转发时长的低水位标识,低于此阀值的转发优先级会升高。
本过程也是在流媒体转发服务器上周期性执行,执行周期根据流媒体转发服务器的性能配置。通过本发明的实施例,在转发过程中动态调整转发优先级,根据动态优先级调整转发过程,保证重要的转发过程不被拒绝和中断,同时使流媒体转发服务器转发远远多于最大转发流媒体路数,充分利用了流媒体转发服务器的资源,提高了服务器的转发效率。如图4所示为本发明实施例提供的一种流媒体的转发系统的模块结构示意图,该系统优先级初始化模块、资源分配模块、优先级调整模块,其中:新请求处理模块10,用于当收到用户终端上报的转发请求时,根据用户权限和/或音视频源给转发设置初始优先级,并放入待转发队列中根据优先级排队;资源分配模块20,用于周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发;优先级调整模块30,用于周期性地在正在转发队列中根据每个转发的簿记信息调整转发的优先级。优选地,为了能将异常状态的转发中止或将转发从异常状态中恢复,在本实施例的另外一种应用中,该系统还包括异常事件处理模块40,用于当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变;当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。优选地,为了保证有报警的音视频转发不被其他转发中断,在本实施例的另外一种应用中,该系统还包括报警事件处理模块50,用于当接收音视频源报警时,将待转发队列中和正在转发对列中该音视频源对应的所有转发的优先级暂时提高到阀值A以上;当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。通过本发明的实施例,在接收用户终端转发请求时赋予初始化优先级,根据优先级执行抢占转发资源,并动态调整转发优先级,根据动态优先级调整转发过程,保证重要的转发过程不被拒绝和中断,同时使流媒体转发服务器转发远远多于最大转发流媒体路数,充分利用了流媒体转发服务器的资源,提高了服务器的转发效率。如图5为本发明优选实施例提供的一种资源分配模块的结构示意图,该模块包括:转发获取单元201,用于从待转发队列中取出优先级最高的转发;资源判断单元202,用于判断流媒体转发服务器是否有足够的资源执行优先级最闻的转发;资源释放单元203,用于当没有足够的资源执行优先级最高的转发时,进一步查找正在转发队列中是否存在优先级低于优先级最高的转发,若存在,则释放优先级低的转发的资源并将其放入待转发队列;资源分配单元204,用于将优先级最高的转发放入正在转发队列进行分配资源,执行转发。通过本发明的实施例的装置,根据优先级执行抢占转发资源,保证重要的转发过程不被拒绝。如图6为本发明优选实施例提供的一种优先级调整模块的结构示意图,该模块包括:
判断单元301,用于判断转发的优先级是否小于阀值A ;
计算单元302,用于对小于阀值A的转发根据其已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级;
具体地,
优先级更新单元303,用于根据转发的动态相对优先级和当前优先级调整转发的优先级。
具体地,将转发的优先级更新为当前优先级加上动态相对优先级。
通过本发明的实施例的装置,在转发过程中动态调整转发优先级,根据动态优先级调整转发过程,保证重要的转发过程不被拒绝和中断。
以上参照

了本发明的优选实施例,并非因此局限本发明的权利范围。本领域技术人员不脱离本发明的范围和实质,可以有多种变型方案实现本发明,比如作为一个实施例的特征可用于另一实施例而得到又一实施例。凡在运用本发明的技术构思之内所作的任何修改、等同替换和改进,均应在本发明的权利范围之内。
权利要求
1.一种流媒体的转发方法,其特征在于,该方法包括: 当接收到用户终端上报的转发请求时,根据用户权限和/或音视频源给所述转发设置初始优先级,并放入待转发队列中根据所述优先级排队; 周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发; 周期性地在正在转发队列中根据每个转发的簿记信息调整所述转发的优先级。
2.根据权利要求1所述的流媒体的转发方法,其特征在于,所述从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源包括: 从待转发队列中取出优先级最高的转发; 判断流媒体转发服务器是否有足够的资源执行所述优先级最高的转发,如有足够的资源,则直接将该优先级最高的转发放入正在转发队列进行分配资源;如果没有足够的资源,则进一步查找正在转发队列中是否存在优先级低于所述最高优先级的转发,若存在,则释放其中优先级最低的转发的资源,并将所述优先级最低的转发放入待转发队列,然后将所述优先级最高的转发放入正在转发队列进行分配资源。
3.根据权利要求1所述的流媒体的转发方法,其特征在于,所述根据正在转发队列中的每个转发的簿记信息动态调整所述转发的优先级包括: 对优先级小于阀值A的转发根据其已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级;其中,所述阀值A为优先级不能被降低的优先级阀值; 根据所述转发的动态相对优先级和当前优先级调整所述转发的优先级。
4.根据权利要求1-3任意一项权利要求所述的流媒体的转发方法,其特征在于,所述方法还包括: 当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变; 当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。
5.根据权利要求1-3任意一项权利要求所述的流媒体的转发方法,其特征在于,所述方法还包括: 当接收到音视频源报警时,将待转发队列中和正在转发对列中该音视频源对应的所有转发的优先级暂时提高到阀值A以上; 当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。
6.一种流媒体的转发系统,其特征在于,所述系统包括: 新请求处理模块,用于接收到用户终端上报的转发请求时,根据用户权限和/或视频源给所述转发设置初始优先级,并放入待转发队列中根据所述优先级排队; 资源分配模块,用于周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发; 优先级调整模块,用于周期性地在正在转发队列中根据每个转发的簿记信息调整所述转发的优先级。
7.根据权利要求6所述的流媒体的转发系统,其特征在于,所述资源分配模块包括: 获取单元,用于从待转发队列中取出优先级最高的转发; 资源判断单元,用于判断流媒体转发服务器是否有足够的资源执行所述优先级最高的转发; 资源释放单元,用于当没有足够的资源执行所述优先级最高的转发时,进一步查找正在转发队列中是否存在优先级低于所述优先级最高的转发,若存在,则释放其中优先级最低的转发的资源,并将所述优先级最低的转发放入待转发队列; 资源分配单元,用于将所述优先级最高的转发放入正在转发队列进行分配资源,执行转发。
8.根据权利要求6所述的流媒体的转发系统,其特征在于,所述优先级调整模块包括: 判断单元,用于判断转发的优先级是否小于阀值A ; 计算单元,用于对小于阀值A的转发根据其已转发时长、占用系统带宽资源、已转发的数据量或其任意组合的权值产生一个动态相对优先级;其中,所述阀值A为优先级不能被降低的优先级阀值; 更新单元,用于根据所述转发的动态相对优先级和当前优先级调整所述转发的优先级。
9.根据权利要求6-8任意一项权利要求所述的流媒体的转发系统,其特征在于,所述系统还包括异常事件处理模块,用于当接收到音视频源异常事件时,将该音视频源对应的所有转发停止并移到休眠队列,其优先级保持不变;当接收到音视频源异常恢复事件时,将该音视频源对应的所有转发从休眠队列中移到待转发队列。
10.根据权利要求6-8任意一项权利要求所述的流媒体的转发系统,其特征在于,所述系统还包括报警事件处理模块,用于当接收音视频源报警时,将待转发队列中和正在转发对列中该音视频源对应的所有转发的优先级暂时提高到阀值A以上;当接收到视频源报警结束时,将该音视频源对应的暂停提高到阀值A以上的转发的优先级恢复到初始优先级。
全文摘要
本发明公开了一种流媒体的转发方法和系统,该方法包括当接收到用户终端上报的转发请求时,根据用户权限和/或音视频源给转发设置初始优先级,并放入待转发队列中根据优先级排队;周期性地从待转发队列中取出优先级最高的转发放入正在转发队列进行分配资源,执行转发;周期性地在正在转发队列中根据每个转发的簿记信息调整转发的优先级。采用本发明的实施例,保证重要的转发请求不被拒绝和中断,同时使流媒体转发服务器转发路数远多于最大转发流媒体路数,充分利用了流媒体转发服务器的资源,提高了服务器的转发效率。
文档编号H04L12/865GK103179051SQ20131008875
公开日2013年6月26日 申请日期2013年3月19日 优先权日2013年3月19日
发明者徐源 申请人:安科智慧城市技术(中国)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1