发明内容
针对相关技术中IPTV用户观看节目缺乏灵活性以及会造成IPTV通信网络拥塞的问题而提出本发明,为此,本发明的主要目的在于提供一种节目推送方案,以解决上述问题。
为了实现上述目的,根据本发明的一个方面,提供了一种节目推送方法,该方法包括:机顶盒根据来自电子节目菜单的节目信息向用户显示节目,并根据用户选择的节目向电子节目菜单发送下载节目请求信息,其中,节目信息为电子节目菜单接收到的来自业务管理平台的节目信息;机顶盒接收电子节目菜单发送的内容分发网络代理的信息,并将信息和节目的下载任务保存在下载队列中;机顶盒根据下载队列执行下载;其中,业务管理平台通过能力接口机给电子节目菜单发送及时消息;运行在机顶盒中的JavaScfipt模块用于将该及时消息显示到浏览器。
优选地,在机顶盒根据在用户选择的节目向电子节目菜单发送下载节目请求信息之前,上述方法还包括:机顶盒在浏览器显示节目推送节目列表,并接收用户从节目推送节目列表中选择的节目。
优选地,机顶盒根据下载队列执行下载包括:机顶盒循环取出下载队列中的下载任务执行下载。
优选地,机顶盒循环取出下载队列中的下载任务执行下载包括:机顶盒向内容分发网络代理请求下载地址信息执行下载;或机顶盒经由多级内容分发网络代理节点汇接获取下载地址信息执行下载。
优选地,在机顶盒执行下载之后,上述方法还包括:如果下载成功,则机顶盒根据用户的选择播放下载的节目。
为了实现上述目的,根据本发明的一个方面,还提供了一种节目推送方法,该方法包括:电子节目菜单接收来自业务管理平台的节目信息和业务管理平台通过能力接口机发送的及时消息,并向机顶盒发送节目信息,以便机顶盒根据节目信息向用户显示节目,其中,该及时消息用于运行在机顶盒中的JavaScript模块显示到浏览器;电子节目菜单接收机顶盒发送的下载节目请求信息,并根据下载节目请求信息向机顶盒发送内容分发网络代理的信息。
优选地,在电子节目菜单接收来自业务管理平台的节目信息之前,上述方法还包括:业务管理平台将待发布的内容制作成节目,并将节目存储到本地下载专区中;业务管理平台向电子节目菜单发送存储的节目对应的节目信息。
优选地,业务管理平台向电子节目菜单发送节目信息包括:业务管理平台向电子节目菜单发送及时消息,并在其中携带有节目信息。
为了实现上述目的,根据本发明的另一个方面,提供了一种机顶盒,该机顶盒包括:第一发送模块,用于在根据来自电子节目菜单的节目信息向用户显示节目之后,根据用户选择的节目向电子节目菜单发送下载节目请求信息,其中,节目信息为电子节目菜单接收到的来自业务管理平台的节目信息;第一接收模块,用于接收电子节目菜单发送的内容分发网络代理的信息;保存模块,用于根据第一接收模块接收的内容分发网络代理的信息,将信息和节目的下载任务保存在下载队列中;下载模块,用于根据下载队列执行下载; JavaScript模块,用于将业务管理平台通过能力接口机给电子节目菜单发送的及时消息显示到浏览器。
为了实现上述目的,根据本发明的另一个方面,还提供了一种电子节目菜单装置,该电子节目菜单包括:第二接收模块,用于接收来自业务管理平台的节目信息和业务管理平台通过能力接口机发送的及时消息,其中,该及时消息用于运行在机顶盒中的JavaScript模块显示到浏览器;第二发送模块,用于根据第二接收模块接收的节目信息,向机顶盒发送节目信息,以便机顶盒根据节目信息向用户显示节目;第三接收模块,用于接收机顶盒发送的下载节目请求信息;第三发送模块,用于根据第三接收模块接收的下载节目请求信息向机顶盒发送内容分发网络代理的信息。
通过本发明,采用运营商模拟推送节目到用户STB的方法,解决了相关技术中IPTV用户观看节目缺乏灵活性以及会造成IPTV通信网络拥塞的问题,进而达到了减轻流媒体服务器和通信网络的负担,并提高用户体验的效果。
具体实施方式
功能概述
考虑到相关技术中IPTV用户观看节目缺乏灵活性以及会造成IPTV通信网络拥塞的问题,本发明提供了节目推送方法及装置,利用STB配置的本地存储硬件存储流媒体文件,运营商可以模拟推送节目到用户STB,并允许用户根据喜好选择接受的内容,以便用户可以将所喜爱的或需要重复观看的节目文件存放在STB内进行离线观看。这种方法能够保证观看质量不受网络的影响。运营商则可以充分利用STB的存储能力和CDN分布式网络的多级节点汇接方式,减轻流媒体服务器和通信网络的负担,并提高客户忠诚度。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
方法实施例一
根据本发明的实施例,提供了一种节目推送方法。图1是根据本发明实施例的节目推送方法(STB侧)的流程图,如图1所示,该方法包括如下的步骤S102至步骤S106。
步骤S102:STB根据用户选择的节目向EPG发送下载节目请求信息。
在此之前,STB在浏览器模板页面的下载专区显示节目推送节目列表,并接收用户从节目推送节目列表中选择的节目,以便后续在用户选择节目后即可自动进入节目下载流程(即,消息通知机制)。
步骤S104:STB接收EPG发送的CDN Agent的信息,并将信息和节目的下载任务保存在下载队列中(即,节目下载机制)。
步骤S106:STB根据下载队列执行下载。
具体地,STB循环取出下载队列中的下载任务执行下载。其中,STB可以向CDN Agent请求下载地址信息执行下载;或者,STB也可以经由多级CDN Agent节点汇接获取FTP下载地址,而后根据此信息下载节目(即,节目下载机制)。
然后,如果下载成功,STB可以根据用户的选择播放下载的节目,例如,用户将得到提示,选择是否立即观看。另外,进入机顶盒本地页面可以查看机顶盒本地磁盘中的存储情况和节目内容列表,并可选择播放本地节目(即,节目观看机制)。
方法实施例二
图2是根据本发明实施例的节目推送方法(EPG侧)的流程图,如图2所示,该方法包括如下的步骤S202至步骤S204。
步骤S202:EPG接收来自业务管理平台的节目信息,并向STB发送节目信息,以便STB根据节目信息向用户显示节目(即,节目制作和发布机制)。
在此之前,业务管理平台将待发布的内容制作成节目,并将节目存储到本地下载专区中;业务管理平台选择用户分组,利用及时消息机制向EPG发送存储的节目对应的节目信息。
其中,业务管理平台向EPG发送的节目信息包括携带有节目信息的及时消息。
步骤S204:EPG接收STB发送的下载节目请求信息,并根据下载节目请求信息向STB发送CDN Agent的信息。
下面将结合实例对本发明实施例的实现过程进行详细描述。
图3是根据本发明实施例的节目推送结构示意图,如图3所示,包括业务管理平台、业务管理平台本地的下载服务器、能力接口机、CDN Agent、EPG和STB。具体地,运营商在业务管理平台选择节目进行推介和赠送,并将上述节目生成后存储在下载服务器,同时发布给Agent。然后,业务管理平台通过能力接口机给EPG发送及时消息,以便EPG将及时消息保存后等候STB的查询。在用户选择接受的节目后,整个RTSP可以在后台实现链接访问、重定向、下载、接收、存储的过程。
其中,STB还包括JavaScript(JS)模块、本地页面、浏览器和FTP下载进程。JS模块运行在STB中,用于将及时消息显示到浏览器,将从EPG接收到的实时传输流媒体协议(Realtime TransmissionStream Protocol,简称为RTSP)链接保存到FTP下载进程,以及控制FTP下载进程的重定向与文件下载。图4至图6将分别论述上述过程。
图4是根据本发明实施例的节目推送及时消息通知流程图,如图4所示,包括如下的步骤S402至步骤S408:
步骤S402:业务管理平台将节目发送到下载专区。
步骤S404:业务管理平台发出及时消息到IPTV能力平台接口机。
步骤S406:接口机将消息发送到所有EPG并由EPG将及时消息保存。
步骤S408:STB的JS模块发起的定时任务。
步骤S410:STB查询到EPG保存的符合条件的及时消息。
步骤S412:展示在STB浏览器中,从而通知用户选择。
图5是根据本发明实施例的JS模块后台控制下载节目文件的流程图,如图5所示,包括如下的步骤S502至步骤S528。
步骤S502:用户根据及时消息提示进入下载专区。
步骤S504:JS模块判断当前STB是否支持录制、下载。
步骤S506:如果不支持,则不能点击页面下载节目,并提示用户。
步骤S508:如果支持,则展示节目列表,并在用户选择某节目后,进入下载页面。
步骤S510:JS模块查询当前待下载节目是否已经下载。
步骤S512:如果已下载则将下载按钮更新为灰色,不让用户重复下载。
步骤S514:如果未下载,则等待用户点击下载按钮。
步骤S516:JS模块向EPG发送下载节目请求,请求下载该内容。
步骤S518:EPG则根据该用户的归属节点信息,返回STB的归属服务Agent的RTSP地址。其中,归属节点信息即上述CDNAgent的信息。
步骤S520:JS模块将RTSP与待下载节目的描述信息下发到STB,由STB保存在FTP下载队列中。
步骤S522:STB判断节目是否下载成功。
步骤S524:如果没有下载成功,则STB在后台链接CDN网络,取出队列中的下载任务,逐个执行下载,完成每一个下载任务。JS模块一旦发起了下载流程,后续的流程由STB保证,如果发生断网、关机、磁盘满等异常情况,由STB自行保证下载的成功。
步骤S526:如果下载成功,消息通知STB弹出对话框,提示用户到本地页面进行观看。
步骤S528:用户点击确定进入播放或者10秒后,提示对话框退出。
图6是根据本发明实施例的STB下载节目流程的示意图,如图6所示,STB下载节目的过程,充分利用了CDN分布式网络的特点,经过多级汇接,可以直接下载供在线点播的节目,这个过程需要与节点Agent进行若干次交互。下载节目的同时,用户可以进行其他的操作,如频道切换、点播节目等。上述过程包括如下的步骤S602至步骤S612。
步骤S602:STB下载进程首先以JS模块发送过来的RTSP地址向服务Agent发起请求,试图获取下载服务器的FTP地址、用户名、密码。
步骤S604:Agent判断是否设置了下载服务器。如果Agent端设置有下载服务器,则进入步骤S612的下载过程。
步骤S606:如果Agent端没有设置下载服务器,则由Agent向Manager发送获取可以汇接的Agent地址的请求。
步骤S608:Manager通过查询该节点的依赖节点,获取重定向的Agent地址,并返回给STB,从而进入STB正式下载流程。
步骤S610:STB向该Agent发起RTSP请求。
步骤S612:STB解析Agent返回的RTSP响应,然后启动FTP客户端,登陆下载服务器的内容目录,通过FTP方式高速下载指定节目内容。
在STB下载成功后,用户得到提示,通过点击提示框后进入播放,如果用户10秒钟内没有响应,则提示对话框退出。或者在模板收藏页面中,当焦点移动到本地节目(Local Recorded)条目时,可以查看本地硬盘中的视频内容并选择播放,用户同时可以查看本地硬盘的存储情况:总的存储空间、剩余空间、文件的使用硬盘的百分比等。
上述技术方案可以实现以模拟推送的方式,将节目下发到STB,从而满足用户离线观看节目的需求。通过本发明可以实现将节目推送到STB的目的,帮助运营商向客户推介或赠送节目,并实现STB离线播放,减轻通信网络负担的目的。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
装置实施例一
根据本发明的实施例,提供了一种STB,该STB可以用于实现上述方法实施例一中的节目推送方法。图7是根据本发明实施例的STB的结构框图,如图7所示,STB 71连接至EPG 81,其中,该STB 71包括:第一发送模块72、第一接收模块74、保存模块76、下载模块78,下面对上述结构进行描述。
第一发送模块72:用于根据用户选择的节目向EPG 81发送下载节目请求信息;第一接收模块74:用于接收EPG 81发送的CDNAgent的信息;保存模块76,连接至第一接收模块74,用于根据第一接收模块74接收的CDN Agent的信息,将信息和节目的下载任务保存在下载队列中;下载模块78:连接至保存模块76,用于根据保存模块76保存的下载队列执行下载。
图8是根据本发明实施例的STB的优选结构框图,如图8所示,本发明STB还包括显示模块81、第四接收模块82,判断模块87和播放模块88,并且,上述下载模块还包括取出子模块83、第一请求子模块84、第二请求子模块85和下载子模块86。其中,下载模块可选择第一请求子模块84或第二请求子模块85获取下载地址信息并执行下载。下面对上述结构进行详细描述。
显示模块81,用于在浏览器显示节目推送节目列表,以便用户选择节目;第四接收模块82,用于接收用户从节目推送节目列表中选择的节目;判断模块87,连接至下载模块78,用于判断下载模块78的下载是否成功;播放模块88,连接至判断模块87,用于在判断模块87的判断结果为是的情况下,根据用户的选择播放下载的节目。
取出子模块83,用于循环取出下载队列中的下载任务;第一请求子模块84,连接至取出子模块83,用于根据取出子模块83取出的下载队列中的下载任务向CDN Agent请求下载地址信息;第二请求子模块85,连接至取出子模块83,用于根据取出子模块83取出的下载队列中的下载任务经由多级CDN Agent节点汇接获取下载地址信息;下载子模块86,连接至第一请求子模块84和第二请求子模块85,用于根据第一请求子模块84或第二请求子模块85得到的下载地址信息执行下载。
装置实施例二
根据本发明的实施例,还提供了一种EPG,该EPG可以用于实现上述方法实施例二的节目推送方法。图9是根据本发明实施例的EPG的结构框图,如图9所示,该EPG 91包括:第二接收模块92、第二发送模块94、第三接收模块96、第三发送模块98,下面对上述结构进行详细描述。
第二接收模块92,用于接收来自业务管理平台的节目信息;第二发送模块94,连接至第二接收模块92,用于根据第二接收模块92接收的节目信息,向STB 71发送节目信息,以便STB 71根据节目信息向用户显示节目;第三接收模块96,用于接收STB 71发送的下载节目请求信息;第三发送模块98,连接至第三接收模块96,用于根据第三接收模块96接收的下载节目请求信息向STB 71发送CDN Agent的信息。
另外,在上述第二接收模块92接收来自业务管理平台的节目信息之前,业务管理平台需要将待发布的内容制作成节目并存储到本地下载专区中。然后,业务管理平台将根据存储的节目向电子节目菜单发送对应的节目信息。
综上所述,通过本发明的上述实施例,本发明公开的模拟的向客户端推送节目的模式,运营商根据经营策略,通过节目推送向客户推介或赠送节目,达到良好的运营和推广目的;对于点播量比较高的节目,也可以推送到用户STB,这有效减轻了直播点播传统模式带来的流媒体服务器和通信网络的负担问题;另一方面,用户离线观看喜爱的节目,可以保证观看质量完全不受通信网络的影响。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。