发明内容
本发明实施例提供一种资源调度方法,以解决现有技术用户占用资源的时间与节目时长相同导致的系统需要较高的性能,继而导致系统成本较高的缺陷;以及用户观看节目较分散的时间段资源浪费严重的缺陷。
根据本发明实施例提供一种资源调度方法,包括:
根据接收到的用户点播节目的点播请求,在可用频点的带宽中,根据每次为所述点播分配的带宽对应的传输速率,以及所述传输速率对应的传输时间,为所述用户的点播分配大于所述用户各自点播节目的固有码率的带宽;
当所述频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的 带宽,使得所述频点的可用带宽大于或等于当前点播节目的固有码率。
本发明实施例提供一种资源调度装置,以解决现有技术用户占用资源的时间与节目时长相同导致的系统需要较高的性能,继而导致系统成本较高的缺陷;以及用户观看节目较分散的时间段资源浪费严重的缺陷。
根据本发明实施例提供一种资源调度装置,包括:
带宽分配模块,用于根据接收到的用户点播节目的点播请求,在可用频点的带宽中,根据每次为所述点播分配的带宽对应的传输速率,以及所述传输速率对应的传输时间,为所述用户的点播分配大于所述用户各自点播节目的固有码率的带宽;
带宽调整模块,用于当所述频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的带宽,使得所述频点的可用带宽大于或等于当前点播节目的固有码率。
本发明实施例提供的资源调度装置和方法,通过分配给用户的点播大于或等于节目固有码率的带宽来传输节目数据,从而提高了节目的传输速度,提高了带宽的利用率。
本发明实施例提供一种点播节目的系统,以解决现有技术用户占用资源的时间与节目时长相同导致的系统需要较高的性能,继而导致系统成本较高的缺陷;以及用户观看节目较分散的时间段资源浪费严重的缺陷。
本发明实施例提供一种点播节目的方法,以解决现有技术用户占用资源的时间与节目时长相同导致的系统需要较高的性能,继而导致系统成本较高的缺陷;以及用户观看节目较分散的时间段资源浪费严重的缺陷。
根据本发明实施例提供一种点播节目的方法,包括:
通过解码终端访问电子节目指南,选择节目并发送点播信息;
中间件根据接收到的点播信息,将所述节目对应的码流进行调度,并发送节目描述信息给所述解码终端,所述调度具体包括:
根据接收到的用户点播节目的点播请求,在可用频点的带宽中,根据每次为所述点播分配的带宽对应的传输速率,以及所述传输速率对应的传输时间,为所述用户的点播分配大于所述用户各自点播节目的固有码率的带宽;
当所述频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的带宽,使得所述频点的可用带宽大于或等于当前点播节目的固有码率;
调制器将点播的所述节目对应的码流复用输出;
所述解码终端根据得到的所述节目描述信息,解码对应的节目码流并存储。
根据本发明实施例还提供一种点播节目的系统,包括:
电子节目指南服务器,用于提供电子节目指南信息,接收选择节目的信息并发送点播信息;
中间件,与电子节目指南服务器相连接,根据接收到的所述点播信息,将所述节目对应的码流进行调度,并发送所述节目的节目描述信息给所述解码终端;
带宽分配模块,用于根据接收到的用户点播节目的点播请求,在可用频点的带宽中,根据每次为所述点播分配的带宽对应的传输速率,以及所述传输速率对应的传输时间,为所述用户的点播分配大于所述用户各自点播节目的固有码率的带宽;
带宽调整模块,用于当所述频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的带宽,使得所述频点的可用带宽大于或等于当前点播节目的固有码率;
推流服务器,与所述中间件相连接,所述中间件根据接收到的点播信息控制该推流服务器将所述点播信息对应的节目数据取出并输出,并输出所述点播信息对应的节目描述信息;
调制器,与所述推流服务器相连接,将接收到的所述节目数据复用输出。
根据本发明实施例还提供一种机预盒,包括:
接收模块,用于接收以大于或等于节目固有码率的带宽发送的用户点播节目的节目数据,并输出;其中,发送所述节目数据的带宽是在可用频点的带宽中,根据每次为所述点播分配的带宽对应的传输速率,以及所述传输速率对应的传输时间进行分配的;
存储模块,用于存储接收到的以大于或等于所述节目固有码率的带宽传输的所述节目数据;
播放模块,用于播放所述节目数据。
本发明实施例提供的点播节目的系统及方法和机顶盒,通过根据接收到的点播请求对频点资源进行合理分配,并通过设置存储模块对接收到的节目数据进行存储,能提高点播同一节目的用户的数量,同时也能提高传输节目数据的速度,缓解了系统的压力,提高了资源的利用率。
具体实施方式
如图2所示,为本发明实施例提供的资源调度方法实施例一流程图,具体步骤包括:
步骤010、根据接收到的用户点播节目的点播请求,在可用频点的带宽中,为各个用户的点播分配大于用户各自点播节目的固有码率的带宽;
在本实施例中,用户的点播请求可以通过IP通道发送,或电话、短信的方式发送。头端系统根据用户的点播请求,从用户可用的频点中,可以选择资源最空闲的频点,然后为该用户的点播分配一个大于用户点播节目的固有码率的带宽。比如,当节目固有码率为3.75Mbps,那么分配给用户4.0M带宽,同时头端系统控制输出的码流为4.0Mbps。
步骤020、当频点的可用带宽小于当前点播的节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的用户的点播所分配的带宽,使得频点的可用带宽大于或等于当前点播节目的固有码率;
在本实施例中,随着点播节目的用户数量的增加,会出现可用频点的剩余带宽小于当前点播节目的固有码率的情况,意味着可用码率的剩余带宽不能够传输当前点播节目的节目数据,这时就需要对正在传输节目数据的点播的带宽做调整,降低已分配到带宽的大于其点播节目的固有码率的点播的带宽,使得频点的可用带宽大于或等于当前用户点播节目的固有码率。
本发明实施例通过给用户的点播分配大于节目固有码率的带宽,并以大于节目固有码率的速率来传输节目数据,与现有技术以等于节目固有码率的速率来传输节目数据相比,节省了传输时间,减轻了系统的负担,并提高了带宽的利用率。
如图3所示,为本发明实施例提供的资源调度方法实施例二流程图,如图3所示,具体步骤包括:
步骤110、根据接收到的用户点播节目的点播请求,在可用频点的带宽中,为各个用户的点播分配大于用户各自点播节目的固有码率的带宽;
在本实施例中,用户的点播请求可以通过IP通道发送,也可以通过电话或短信的方式发送。头端系统根据用户的点播请求,比如用户a点播节目b, 节目b的固有码率为m,则头端系统从用户a的点播可用的频点中,可以选择资源最空闲的频点,然后为该点播分配一个大于m的带宽。
本实施例中,本步骤之前还包括获取为各个点播的带宽进行分配的依据信息;根据依据信息和点播请求,为用户的点播分配带宽。该依据信息至少包括:机顶盒处理能力信息。机顶盒处理能力信息为,将接收到的节目数据进行存储的速率Y。头端系统根据v≤(Y+C)来确定传输节目数据的最大速率,其中C为点播的节目的固有码率,v为对点播的节目数据进行传输的最大速率。
步骤120、当频点的可用带宽小于当前点播的节目的固有码率时,根据接收到的用户的点播请求,降低至少一个已分配大于其点播节目的固有码率的带宽的点播的带宽,使得频点的可用带宽大于当前点播的节目的固有码率;
在本实施例中,随着点播节目的用户数量的增加,可能会出现可用频点的剩余带宽小于所点播节目的固有码率的情况,这意味着可用频点的剩余带宽不能够传输当前点播节目的节目数据,这时就需要对正在传输节目数据的点播的带宽做调整,降低已分配到带宽的点播所分配的带宽,使得可用频点的带宽大于或等于当前点播节目的固有码率。对于被降低带宽的点播,优选地,其降低后的带宽仍大于该用户点播节目的固有码率。
步骤130、为当前的点播分配大于或等于所点播节目的固有码率的带宽;
步骤140、当所有点播被分配的带宽与各自点播节目的固有码率相等时,降低至少一个传输节目数据的点播的传输速率;
按照公式R1T1+R2T2...+RnTn+XTx≥CTc对点播的带宽进行降低调整。其中R1 为第一次为该点播分配的带宽对应的传输速率;T1为传输速率R1对应的传输时间;Rn为第n次为该点播分配的带宽对应的传输速率;Tn为传输速率Rn对应的传输时间;X为该点播调整后的传输速率,Tx为对于已接收到的节目数据,若以固有码率传输需要的时间;C为传输的节目的固有码率;Tc为以C传输该节目所需的时间。
在本实施例中,根据步骤120的带宽调整策略,很可能会出现所有的点 播被分配的带宽都与各自点播节目的固有码率相等的情况,这时可以采用降低点播的传输节目数据的传输速率的策略。
可以判断各个正在传输节目数据的点播中传输时间最长的带宽,降低该传输时间最长的带宽的传输速率,且降低后的传输速率X满足:X*Tx+C*(Tz-T0)≥C*Tx其中Tx为以传输速率X将节目数据传输完所需的传输时间;Tz为对于已接收到的节目数据,若以固有码率传输需要的时间;T0为对于接收到的节目数据,已播放的时间;C为所述点播的节目的固有码率。以保证降低传输速率后不影响该用户的观看。
步骤150、当接收到用户的停止点播请求,或者有节目完成传输时,将该用户的点播的带宽,或完成传输的节目对应的带宽分配给其它正在传输节目数据的点播;
在步骤120对各个点播的带宽进行调整,当还未调整至所有点播被分配的带宽与各自点播节目的固有码率相等时,就出现了有用户停止点播或有节目完成传输时,步骤150也可以在步骤140之前执行。在对各个点播进行分配带宽和调整带宽的过程中,如果并没有出现所有点播被分配的带宽与各自点播节目的固有码率相等的情况,那么也不必要执行步骤140。
步骤160、将接收到的节目数据存储到各自的存储设备中。
本发明实施例通过给各个点播分配大于节目固有码率的带宽,以大于节目固有码率的速率来传输节目数据,与现有技术以等于节目固有码率的速率来传输节目数据相比,节省了传输时间,减轻了系统的负担,并提高了带宽的利用率。进一步地,通过降低传输节目数据时间最长的带宽的传输速率,使得不影响该被降传输速率的用户观看节目的情况下,能够满足更多的用户的点播请求。
如图4所示,为本发明实施例提供的资源调度方法实施例三框图,本实施例在机顶盒的处理能力能够满足:按照节目的最大码率,即节目固有码率+机顶盒将接受到的节目数据写入存储设备的速率传输节目数据时,机顶盒能 够将接收到的节目数据存储到存储设备中,同时能够正常播放该节目的条件下,以系统有1个频点可供使用,该频点能提供的带宽为38M为例。为方便计算,假设每个用户都点播同一节目,该节目的固有码率为3.75M,该节目的播放时长为2小时,按照现有的方法,系统可以同时传输10套该节目。
本实施例机顶盒的处理能力满足的条件,例如:机顶盒带有存储设备时,将接收到的节目数据写入存储设备的速度为Y,所传输的节目的固有码率为C,则机顶盒传输节目数据的速率就不能大于节目最大码率(Y+C)。
本实施例资源调度策略的特点是:对于一个频点,将可用带宽最大程度的分配给一个用户的点播,其他的点播都按照节目固有码率来分配带宽。则首先按照最大频点带宽给第一个点播节目的用户的点播分配带宽,当有其他用户点播节目时,降低首先分配给第一个点播的带宽。
假设在18:00时,第一位用户点播节目。根据最大频点带宽为38M,节目固有码率为3.75,则系统分配给第一点播3.75*10=37.5M带宽,即此时系统消耗的总带宽为37.5M。为方便计算,本实施例中,以节目固有码率的整数倍为点播分配带宽。事实上,也可以不按照节目固有码率的整数倍来分配带宽,比如按照最大频点带宽直接为第一个点播分配38M带宽。
当第二位用户点播节目时,假设此时为18:05分,由于该频点可提供的带宽仅有38-37.5=0.5M,因此降低分配给第一点播的带宽,将第一点播的带宽调整为3.75*9=33.75M,然后以节目固有码率3.75*1=3.75M的带宽分配给第二点播。此时系统消耗的总带宽为33.75+3.75=37.5M。
当第三位用户点播节目时,假设此时为18:10分,再次降低分配给第一点播的带宽,将第一点播的带宽调整为3.75*8=30M,第二点播的带宽不变,然后以节目固有码率3.75*1=3.75M的带宽分配给第三点播。此时系统消耗的总带宽为30+3.75+3.75=37.5M。
依此类推,假设每5分钟加入一个用户点播节目,那么第一点播在第三位用户点播该节目时,根据R1T1+R2T2...+RnTn+XTx≥CTc,满足:
3.75*10*1/12+3.75*9*1/12+3.75*8*1/12>3.75*2,也即第一点播在1/12+1/12+1/12=1/4小时,15分钟时就完成了节目的传输。与现有技术相比,节约了至少105分钟。
本实施例调度策略简单,易于实现,通过给各个点播分配大于节目固有码率的带宽,并以大于节目固有码率的速率来传输节目数据,与现有技术以等于节目固有码率的速率来传输节目数据相比,节省了传输时间,减轻了系统的负担,并提高了带宽的利用率。
如图5所示,为本发明实施例提供的资源调度方法实施例四框图,本实施例在机顶盒的处理能力能够满足:按照节目的最大码率传输节目数据时,机顶盒能够将接收到的节目数据存储到存储设备中,同时能够正常播放该节目的条件下,以系统有1个频点可供使用,该频点能提供的带宽为38M为例,为方便计算,假设每个用户都点播同一节目,该节目的固有码率为3.75M,该节目的播放时长为2小时,按照现有的方法,系统可以同时传输10套该节目。
本实施例的资源调度策略的特点是:对于一个频点,在同一时间,在可用带宽允许的情况下,可以为多个点播分配大于各自点播节目固有码率的带宽。一种方式为:首先按照机顶盒事先设置的带宽或者自动从机顶盒获取的带宽来为点播分配带宽。当分配到频点的可用带宽无法满足按照该原则来分配时,再按照节目固有码率为点播分配带宽。当该频点的可用带宽已不能满足再分配给一个点播时,即可用带宽小于点播的节目的固有码率时,降低已分配大于其节目固有码率的带宽的点播的带宽。
事先设置的带宽可以是用户在运营商处开户的时候配置的带宽,也可以是双向机顶盒自动上报处理的带宽。无论配置的带宽还是上报处理得到的带宽,都需要满足“按照节目的固有码率传输节目数据时,机顶盒能够将接收到的节目数据存储到存储设备中,同时能够正常播放该节目”的条件。自动从机顶盒获得的带宽即为机顶盒上报的带宽。
假设每5分钟有一位用户点播节目,在18:00时,第一位用户点播节目。 假设STB的设置的最大传输带宽为15M,系统分配给第一点播3.75*4=15M的带宽,此时系统消耗的总带宽为15M。
在18:05时,第二位用户点播该节目。根据最大传输带宽为15M,系统分配给第二点播3.75*4=15M的带宽,此时系统消耗的总带宽为15+15=30M。
在18:10时,第三位用户点播该节目,此时系统可用带宽38-30=8M已经不能满足按照STB的最大传输带宽来分配,于是按照节目固有码率分配给第三点播3.75*1=3.75M的带宽;此时,系统消耗的总带宽为15+15+3.75=33.75M。
在18:15时,第四位用户点播该节目,此时系统可用带宽为38-33.75=4.25M,按照节目固有码率分配给第四点播3.75*1=3.75M的带宽;此时,系统消耗的总带宽为15+15+3.75+3.75=37.5M。
在18:20时,第五位用户点播该节目,此时系统可用带宽为38-37.5=0.5M,已经不能满足按照节目固有频率来分配带宽,于是再作调整,将第一点播的带宽按照节目固有码率调整为3.75*3=11.25M,然后分配给第五点播3.75*1M的带宽。此时,第一点播已经传输了3.75*4*1/12+3.75*4*1/12+3.75*4*1/12+3.75*4*1/12=5M,即2/3的节目资源,第二点播也已传输了3.75*4*1/12+3.75*4*1/12+3.75*4*1/12=3.75M,即1/2的节目资源,第一点播和第二点播显然在19:00之前就可以完成整个节目的传输。
本实施例还可以包括:当有用户停止点播,或者是节目传输完成时,系统将该用户的点播的带宽,或完成传输的节目对应的带宽分配给其他正在传输节目数据的点播,实现了带宽的动态调度。
如图6所示,为本发明实施例资源调度方法实施例五框图,本实施例与上述实施例的不同在于,以第四位用户在18:20停止点播该节目为例,则系统回收该第四位用户的点播所占用的3.75M带宽,并将其分配给其他正在传输节目数据的点播,比如分配给第一点播,这时第一点播所分配的带宽为 3.75*4=15M带宽,实现了带宽的动态调整。
在本实施例中,将第四点播的带宽分配给第一点播仅仅是一个优选的方案,由于第一点播传输该节目的时间最长,传输的速率最大,给其分配更多的带宽可以使其更快的将节目数据传输完,从而可以将第一点播的带宽分配给其他点播使用。本领域技术人员同样可以理解,第四点播的带宽也可以分配给第二点播或其他正在传输该节目数据的点播。现有技术是将第四点播的带宽分配给新的点播,与现有技术相比,本发明实施例的分配策略能够提高传输节目数据的效率。
如图7所示,为本发明实施例资源调度方法实施例六框图,本实施例与上述实施例的不同在于,以第一点播传输的节目数据在18:20传输完毕为例,系统回收该第一点播的带宽,并将该带宽分配给其他正在传输节目数据的带宽,比如第三点播,则第三点播所分配的带宽为3.75*4=15M。对于18:20加入的第五点播,则与上述实施例相同,按照节目固有码率的带宽分配。
同样的,本领域技术人员可以理解,将第一点播的带宽分配给其他的哪个点播并不是本发明的限制,除了分配给第三点播,还可以分配给其他正在传输节目数据的点播,或者新加入的点播。
如图8所示,为本发明实施例资源调度方法实施例七框图,本实施例在机顶盒的处理能力能够满足:按照节目的最大码率传输节目数据时,机顶盒能够将接收到的节目数据存储到存储设备中,同时能够正常播放该节目的条件下,以系统有1个频点可供使用,该频点能提供的带宽为38M为例,假设点播的节目的固有码率为3.75M,该节目的播放时长为60S,按照现有的方法,系统可以同时传输10套该节目。
假定每隔2s有一位用户点播该节目。那么:首先按照STB的最大传输带宽15M来分配,
在18:00:00,分配给点播该节目的第一位用户的点播、即第一点播的带宽为15M;
18:00:02,分配给点播该节目的第二点播的带宽为15M;
18:00:04,分配给点播该节目的第三点播的带宽为3.75M;
此时频点的剩余带宽为38-30=8M,已经不能再按照STB的最大传输带宽15M来分配,于是按照等于节目固有频率的带宽来分配。
18:00:06,分配给点播该节目的第四点播的带宽为3.75M;
18:00:08,将分配给第一点播的带宽降为15-3.75=11.25M,然后分配给点播该节目的第五点播3.75M的带宽;
此时频点的剩余带宽为38-37.5=0.5M,已经不能按照等于节目固有频率的带宽来分配,于是降低分配给第一点播的带宽;
18:00:10,将分配给第一点播的带宽降为15-3.75*2=7.5M,然后分配给点播该节目的第六点播3.75M的带宽;
18:00:12,将分配给第一点播的带宽降为15-3.75*3=3.75M,然后分配给点播该节目的第七点播3.75M的带宽;
18:00:14,将分配给第二点播的带宽降为15-3.75=11.25M,然后分配给点播该节目的第八点播3.75M的带宽;
18:00:16,将分配给第二点播的带宽降为15-3.75*2=7.5M,然后分配给点播该节目的第九点播3.75M的带宽;
18:00:18,将分配给第二点播的带宽降为15-3.75*3=3.75M,然后分配给点播该节目的第十点播3.75M的带宽;
这时所有点播的带宽都已经和节目固有码率相同。一个频点的带宽为38M,一共可以承载10个用户点播,这是现有技术的方案可以做到的。本发明实施例还可以提高点播该节目的用户的数量。
当18:00:20,有第十一位用户点播该节目时,按照公式R1T1+R2T2...+RnTn+XTx≥CTc计算第一点播的传输情况为:
(3.75*4)*8+(3.75*3)*2+(3.75*2)*2+3.75*8+X*Tx=3.75*60;
得X*Tx=3.75*10;
再根据公式X*Tx+C*(Tz-T0)≥C*Tx,其中Tz为对于已接收到的节目数据,若以固有码率传输需要的时间,根据上述计算可知第一点播已接收到的节目数据为(3.75*4)*8+(3.75*3)*2+(3.75*2)*2+3.75*8=3.75*50,因此Tz=50。T0为对于接收到的节目数据,已播放的时间,因为第一点播传送了20s,播放的数据为3.75*20,因此T0=20,可计算得:Tx≤40,X≥3.75/4。因此至少再给第一点播分配3.75/4M带宽,一直以3.75/4Mbps的速率传输节目数据就可以保证第一点播的用户正常观看节目。
假定第十一位用户点播的节目的固有码率为3.75*3/4Mbps,则第一点播空闲出的3.75*3/4M带宽可以恰好分配给第十一点播。
假定第十一位用户点播的节目的固有码率为3.75*4/5Mbps,当希望只降低第一点播的带宽的情况下,则第一点播的带宽需降为3.75/5M,即X=3.75/5M,这时代入R1T1+R2T2...+RnTn+XTx≥CTc,可计算得Tx≥50s,将X的值代入公式X*Tx+C*(Tz-T0)≥C*Tx,得Tx≤37.5,也就是说,当将第一点播的传输速率降至3.75/5Mbps之后,以该速率再传输37.5s,就不能满足用户的正常观看了。因此头端系统最迟需要再过37.5s,即18:00:57.5时,就需要提高该第一点播的传输速率,以保证用户的正常观看。例如由于到18:00:57.5时,第一点播的节目数据已传输3.75*50+3.75/5*37.5=3.75*57.5M,还剩3.75*2.5M数据没有传输,此时第二点播的数据已传输完毕,可以将第二点播的带宽直接分配3.75*2.5M给第一点播,只需1s第一点播就可以把数据传输完,且保证用户的正常观看。
同样的方法来降低第二点播的传输速率可以使得更多的用户同时点播节目。
本发明实施例通过以大于或等于节目固有码率的速率来传输节目数据,并将接收的数据存储到存储设备中,与现有技术以等于节目固有码率的速率来传输节目数据相比,节省了传输时间,减轻了系统的负担,并提高了带宽的利用率。
如图9所示,为本发明实施例提供的资源调度装置结构框图,本实施 例包括:带宽分配模块8,带宽调整模块9。其中带宽分配模块8用于根据接收到的用户点播节目的点播请求,在可用频点的带宽中,为所述用户的点播分配大于所述用户各自点播节目的固有码率的带宽;带宽调整模块9用于当所述频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的带宽,使得所述频点的可用带宽大于或等于当前点播节目的固有码率。
其中带宽调整模块8按照公式R1T1+R2T2...+RnTn+XTx≥CTc对点播的带宽进行降低调整;其中R1为第一次为该点播分配的带宽对应的传输速率;T1为传输速率R1对应的传输时间;Rn为第n次为该点播分配的带宽对应的传输速率;Tn为传输速率Rn对应的传输时间;X为该点播调整后的传输速率,Tx为以传输速率X将节目数据传输完所需的传输时间;C为传输的节目的固有码率;Tc 为以C传输所述节目所需的时间。
本实施例带宽分配模块8还用于在带宽调整模块9对带宽进行调整后,为当前的点播分配大于或等于该点播的节目的固有码率的带宽。带宽调整模块9还用于当所有点播被分配的带宽与节目固有码率相同时,降低至少一个点播传输节目数据的传输速率,降低后的传输速率X满足:X*Tx+C*(Tz-T0)≥C*Tx;其中Tx为以传输速率X将节目数据传输完所需的传输时间;Tz为对于已接收到的节目数据,若以固有码率传输需要的时间;T0为对于接收到的节目数据,已播放的时间;C为所述点播的节目的固有码率。本实施例带宽分配模块8还用于当接收到用户的停止点播请求,或者有节目完成传输时,将用户的点播或完成传输的节目对应的带宽分配给其它正在传输节目数据的点播。
进一步地,本实施例还包括:请求接收模块10,用于接收给各个点播分配带宽的分配请求。以及信息获取模块11,用于获取对各个点播进行分配带宽的依据信息,依据信息至少包括:机顶盒处理能力信息,即将接收到的节 目数据进行存储的速率。
如图10所示,为本发明实施例提供的点播节目的系统结构框图,本实施例包括电子节目指南服务器1,中间件2,推流服务器3,调制器4,解码终端6以及存储设备7。其中电子节目指南服务器1用于提供电子节目指南信息,接收选择节目的信息并发送点播信息;中间件2与电子节目指南服务器1相连接,根据接收到的点播信息,将点播的节目对应的码流进行调度,并发送所述节目的节目描述信息给解码终端6,带宽分配模块8:用于根据接收到的用户点播节目的点播请求,在可用频点的带宽中,为该用户的点播分配大于其点播节目的固有码率的带宽;带宽调整模块9,用于当频点的可用带宽小于当前点播节目的固有码率时,根据接收到的当前点播节目的用户的点播请求,降低至少一个已分配带宽的点播所分配的带宽,使得频点的可用带宽大于或等于当前点播节目的固有码率;推流服务器3与中间件2相连接,中间件2根据接收到的点播信息控制该推流服务器3将点播信息对应的节目数据取出并输出,并输出点播信息对应的节目描述信息;调制器4与推流服务器3相连接,将接收到的节目数据复用输出;解码终端6与调制器4和电子节目指南服务器1相连接,根据接收到的节目描述信息将对应的节目数据解码输出;存储设备7与解码终端相连接6,用于存储解码终端6接收到的节目数据。
本实施例的解码终端也可以为机顶盒。
本实施例中间件2按照本发明实施例资源调度方法对节目对应的码流进行调度,具体可参见上述对资源调度方法实施例的描述。
如图11所示,为本发明实施例提供的点播节目的方法流程图,具体步骤包括:
步骤300、通过解码终端访问电子节目指南,选择节目并发送点播信息;
步骤310、中间件根据接收到的点播信息,将节目对应的码流进行调度,并发送节目描述信息给解码终端;
本步骤中中间件按照本发明实施例资源调度方法对节目对应码流的调度,具体可参见上述对资源调度方法实施例的描述。
步骤320、调制器将节目对应的码流复用输出;
步骤330、解码终端根据得到的节目描述信息,接受对应的节目码流并存储。
其中步骤310将节目对应的码流进行调度的方法可以参见对图2-图8本发明实施例资源调度方法的说明。
本发明实施例点播节目的方法根据点播请求对频点资源进行合理分配,能提高点播同一节目的用户的数量,同时也能提高传输节目数据的速度,缓解了系统的压力,提高了资源的利用率。
如图12所示,为本发明实施例提供的机顶盒结构示意图,本实施例包括接收模块12,用于接收以大于节目的固有码率的速率发送的用户点播节目的节目数据,并输出;存储模块13,用于接收以大于或等于节目固有码率的速率传输的节目数据并存储;播放模块14,用于播放节目数据。
进一步地,本实施例还包括上报处理能力模块15,用于获取机顶盒的处理能力信息,即将接收到的节目数据进行存储的速率,并将处理能力信息发送。
本实施例提供的机顶盒,通过设置存储模块,能够存储以大于或等于所述节目固有码率的速率发送的用户点播节目的节目数据,并通过设置播放模块来播放接收到的节目数据。能提高点播同一节目的用户的数量,缓解了系统的压力,提高了资源的利用率。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非对其进行限制,尽管参照较佳实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对本发明的技术方案进行修改或者等同替换,而这些修改或者等同替换亦不能使修改后的技术方案脱离本发明技术方案的精神和范围。