机顶盒、业务服务器、节目下载方法、发送方法及系统
技术领域
本发明涉及网络通信技术领域,尤其涉及网络电视中节目下载方法、机顶盒、节目发送方法、业务服务器及节目下载系统。
背景技术
随着网络技术的不断发展,各种终端设备不断进入人们的日常工作或生活,例如网络电视机顶盒等。网络电视机顶盒不仅可以使传统的电视直播节目让用户自己做主,还可让大量的网络节目从电视上进入人们的生活。
目前,用户除了可以自由观看几天内的电视节目,点播大量的电视电影外,还可实现下载功能,例如用户可以根据自己的喜好将节目下载在机顶盒中,以便随时自由观看。目前节目的下载方式是由业务服务器下发资源列表,然后由机顶盒根据资源列表到指定的媒体资源服务器上获取节目。这样的下载具有单一性与独占性,即业务服务器下发的下载信息必须包含媒体资源服务器的地址及节目路径信息,否则无法下载到对应的节目。
发明内容
本发明的主要目的在于提供一种节目下载方法及下载系统,旨在扩展机顶盒下载节目的灵活性,使机顶盒即便未获取媒体资源服务器的相关信息,也可下载到所需的节目信息。
本发明提供一种节目下载方法,包括以下步骤:
获取业务服务器发送的第一下载信息;
判断第一下载信息是否包含节目位置信息或重定向服务器的地址;
当第一下载信息包含节目位置信息时,根据节目位置信息下载节目;
当第一下载信息包含重定向服务器的地址时,根据重定向服务器的地址向重定向服务器发起节目下载请求。
优选地,在执行所有步骤之后还包括:
获取重定向服务器发送的第二下载信息;
判断第二下载信息是否包含重定向服务器中的节目路径或其它重定向服务器的地址;
当第二下载信息包含所述节目路径时,根据节目路径下载节目;
当第二下载信息包含其它重定向服务器的地址时,向其它重定向服务器发起节目下载请求。
优选地,在执行所述获取业务服务器发送的第一下载信息的步骤前包括:
判断媒体资源服务器中是否存在与下载请求对应的节目信息;如果存在,则下发节目位置信息;如果不存在,则下发重定向服务器的地址。
优选地,所述当第一下载信息为重定向服务器的地址时,根据重定向服务器的地址向重定向服务器发起节目下载请求的步骤中包括:
重定向服务器判断自身是否存在节目信息;如果存在,则下发节目路径;如果不存在,则下发其它重定向服务器的地址。
优选地,上述方法还包括以下步骤:
判断下载过程中是否有节目在播放;如果没有,则启用高速率下载;如果有,则降低下载速率。
优选地,上述方法还包括以下步骤:
在媒体节目下载过程中将节目进行分片处理。
优选地,上述方法还包括以下步骤:
在节目下载失败时,保存节目位置信息或重定向服务器中的节目路径;
根据节目位置信息或重定向服务器中的节目路径重新下载。
本发明提供一种机顶盒,包括:
接收模块,用于获取业务服务器发送的第一下载信息;所述第一下载信息包含节目位置信息或重定向服务器的地址,所述节目位置信息包括媒体资源服务器的地址及节目路径;
判断模块,用于判断第一下载信息是否为节目位置信息;
下载模块,用于当第一下载信息为节目位置信息时,根据所述节目位置信息下载节目;
重定向模块,当第一下载信息包含重定向服务器的地址时,根据重定向服务器的地址向重定向服务器发起节目下载请求。
优选地,所述接收模块还用于获取重定向服务器发送的第二下载信息;
所述判断模块还用于判断第二下载信息是否包含重定向服务器中的节目路径或其它重定向服务器的地址;
所述下载模块还用于当第二下载信息包含所述节目路径时,根据节目路径下载节目;
所述重定向模块还用于当第二下载信息包含其它重定向服务器的地址时,向其它重定向服务器发起节目下载请求。
优选地,上述机顶盒还包括:
播放判断模块,用于判断下载过程中是否有节目在播放;
下载速率设置模块,用于当没有节目在播放时,启用高速率下载;以及
当有节目在播放时,降低下载速率。
优选地,上述机顶盒还包括:
分片处理模块,用于在媒体节目下载过程中将节目进行分片处理。
优选地,上述机顶盒还包括:
存储模块,用于在节目下载失败时,保存节目位置信息或重定向服务器中的节目路径;
下载重启模块,用于根据节目位置信息或重定向服务器中的节目路径重新下载。
本发明提供一种节目发送方法,包括以下步骤:
判断媒体资源服务器中是否存在与下载请求对应的节目信息;如果存在,则下发节目位置信息;如果不存在,则下发重定向服务器的地址。
本发明提供一种业务服务器,包括:
节目信息判断模块,用于判断媒体资源服务器中是否存在与下载请求对应的节目信息;
首次重定向信息发送模块,用于当媒体资源服务器中存在对应的节目信息时,下发节目位置信息;以及当媒体资源服务器中不存在对应的节目信息时,下发重定向服务器的地址。
本发明提供一种节目下载系统,包括业务服务器、机顶盒、媒体资源服务器及至少两重定向服务器,其中,
所述业务服务器包括:
节目信息判断模块,用于判断媒体资源服务器中是否存在与下载请求对应的节目信息;
首次重定向信息发送模块,用于当媒体资源服务器中存在对应的节目信息时,下发节目位置信息;以及当媒体资源服务器中不存在对应的节目信息时,下发重定向服务器的地址;
所述机顶盒包括:
接收模块,用于获取业务服务器发送的第一下载信息;
判断模块,用于判断第一下载信息是否包含节目位置信息或重定向服务器的地址;
下载模块,用于当第一下载信息包含节目位置信息时,根据所述节目位置信息下载节目;
重定向模块,用于当第一下载信息包含重定向服务器的地址时,根据重定向服务器的地址向重定向服务器发起节目下载请求。
优选地,所述接收模块还用于获取重定向服务器发送的第二下载信息;
所述判断模块还用于判断第二下载信息是否包含重定向服务器中的节目路径或其它重定向服务器的地址;
所述下载模块还用于当第二下载信息包含所述节目路径时,根据节目路径下载节目;
所述重定向模块还用于当第二下载信息包含其它重定向服务器的地址时,向其它重定向服务器发起节目下载请求。
优选地,所述重定向服务器包括:
优选地,所述重定向服务器包括:
自身判断模块,用于判断自身是否存在节目信息;
第二下载信息发送模块,用于当自身存在节目信息时,下发重定向服务器中的节目路径;以及当自身不存在节目信息时,下发其它重定向服务器的地址。
本发明所提供的节目下载方法、机顶盒、节目发送方法、业务服务器或节目下载系统,在下发下载信息时,可下发与媒体资源服务器对应的节目位置信息或重定向服务器的地址,使机顶盒即便未获取媒体资源服务器中的相关节目信息,也可通过重定向服务器下载到所需的节目信息,扩展了机顶盒下载节目的灵活性;此外,还可根据当前是否有节目在播放来提高或降低下载速率,使得在不影响用户观看的同时,又充分利用带宽下载节目,提升了用户体验。同时,考虑到下载一般需花费较长时间,在机顶盒重启后,仍然能够从数据库中搜索信息断点续传,保证了节目的完整性。
附图说明
图1为本发明的一个实施方式中节目下载方法流程图;
图2为本发明的一个实施例中根据第二下载信息下载节目的方法流程图;
图3为本发明的一个实施例中根据机顶盒发送的节目下载请求下发第一下载信息步骤的方法流程图;
图4为本发明的一个实施例中重定向服务器根据机顶盒发送的节目下载请求下发第二下载信息步骤的方法流程图;
图5为本发明的一个实施例中节目下载方法的流程图;
图6是本发明的另一个实施例节目下载方法的流程图;
图7为本发明的一个实施方式中节目下载系统的结构示意图;
图8为本发明的一个实施例中重定向服务器的结构示意图;
图9为本发明的一个实施例中机顶盒的结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
图1示出了本发明的一个实施方式中节目下载方法流程。该方法流程包括以下步骤:
步骤S10,获取业务服务器发送的第一下载信息;在一实施例中,第一下载信息包含节目位置信息或重定向服务器的地址,节目位置信息包括媒体资源服务器的地址及其中的节目路径。节目路径是指节目在服务器中的存储路径,机顶盒根据该路径可下载到节目文件。当需要下载节目时,首先机顶盒会向业务服务器发送节目下载请求,业务服务器可通过RTSP(Real TimeStreamingProtocol,实时流传输协议)下发节目位置信息或重定向服务器的地址,以便机顶盒获取节目信息。众所周知,RTSP是TCP/IP协议体系中的一个应用层协议。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据,并具有重新导向功能,可视实际负载情况来转换提供服务的服务器,以避免过大的负载集中于同一服务器而造成延迟。
步骤S20,判断第一下载信息是否包含节目位置信息或重定向服务器的地址;例如,可判断该位置信息中是否包含媒体资源服务器的网络地址及其中的节目路径或者是否为重定向服务器的网络地址。
步骤S30,当第一下载信息包含节目位置信息时,根据节目位置信息下载节目;例如,若业务服务器下发的是媒体资源服务器的地址及其中的节目路径,则可直接找到对应的节目,不需再从其他服务器中获取节目,因而可从媒体资源服务器中下载节目。
步骤S40,当第一下载信息包含重定向服务器的地址时,根据重定向服务器的地址向重定向服务器发起节目下载请求。本实施方式中,通过业务服务器在下发下载信息时,下发上述节目位置信息或重定向服务器的地址信息,使机顶盒即便未获取媒体资源服务器中的相关节目信息,也可通过重定向服务器下载到所需的节目信息,扩展了机顶盒下载节目的灵活性,提高了节目下载的成功率。
如图2所示,在执行上述步骤S40之后还可包括:
步骤S50,获取重定向服务器发送的第二下载信息;在一实施例中,重定向服务器可以用于在机顶盒重定向到此服务器时,提供节目信息或其它重定向服务器地址。例如当重定向服务器存在节目信息时,则将重定向服务器中的节目路径下发至机顶盒,以供机顶盒下载节目;当重定向服务器不存在节目信息时,则下发其它重定向服务器的地址。
步骤S60,判断第二下载信息是否包含重定向服务器中的节目路径或其它重定向服务器的地址;
步骤S70,当第二下载信息包含所述节目路径时,根据节目路径下载节目;
步骤S80,当第二下载信息包含其它重定向服务器的地址时,向其它重定向服务器发起节目下载请求。
本实施例中,通过重定向服务器设置循环下载机制,直至下载到到相应的节目为止,进一步提高了节目下载的成功率。
如图3所示,在执行上述步骤S10之前可包括:
步骤S11,判断媒体资源服务器中是否存在与下载请求对应的节目信息;在一实施例中,业务服务器可根据节目下载请求,判断媒体资源服务器是否存在相应的节目信息或负载过大,以致下载时可能导致延迟或不能下载。
步骤S12,如果存在,则下发节目位置信息;如果媒体资源服务器可允许下载或其中存在对应的节目信息,则可按现有下载流程下载节目。
步骤S13,如果不存在,则下发重定向服务器的地址。重定向服务器可提供节目信息或其它重定向服务器地址,以便重复下载过程,直至获取到与下载请求对应的节目。
参照图4,上述步骤S40可包括:
步骤S41,重定向服务器判断自身是否存在节目信息;例如,当机顶盒要下载一个电影文件时,重定向服务器判断存储器中是否存在该电影文件。
步骤S42,如果存在,则下发重定向服务器中的节目路径;例如,上述实施例中,当电影文件存在时,则将该电影文件所在的路径下发至机顶盒。
步骤S43,如果不存在,则下发其它重定向服务器的地址。网络技术中,重定向是指通过一对多的应用程序,在从一个服务器上获取网络资源失败时,重新将连接导向到其它提供服务的服务器,从而获取网络资源的过程。在一实施例中,重定向服务器一方面可以存储节目,另一方面可以将节目路径或其它重定向服务器的地址下发至机顶盒。可在下载系统中设置多个重定向服务器,当一个重定向服务器不存在文件信息时,将其它重定向服务器的地址下发至机顶盒,并按该流程重复下载过程,直至机顶盒获取需要的节目。
如图5所示,上述方法还可包括以下步骤:
步骤S91,判断下载过程中是否有节目在播放;如果在播放过程中高速下载节目,可能导致节目播放发生故障。可通过机顶盒判断下载过程中是否有节目在播放,以便控制下载速率。
步骤S92,如果没有,则启用高速率下载;
步骤S93,如果有,则降低下载速率。
本实施例中通过设置下载速率,可在网络电视播放节目时不影响用户观看节目,又可充分利用带宽下载节目,提升了用户体验。
在一实施例中,上述下载过程中还可包括在媒体节目下载过程中将节目进行分片处理的步骤;例如,当下载的是TS(Transport Stream,传送流)流或MPEG(Moving Pictures Experts Group,动态影像节目组)文件时,可通过机顶盒中的主控模块将节目进行分片处理,以便控制节目的播放,例如快进、快退、暂停等。
如图6所示,在另一实施例中,上述方法还可包括以下步骤:
步骤S94,在节目下载失败时,保存节目位置信息或重定向服务器中的节目路径;例如,当媒体资源服务器或重定向服务器发生故障时,机顶盒与媒体资源服务器或重定向服务器之间的连接断开,节目未下载完成。此时,机顶盒将节目下载标识未失败,并保存上述节目位置信息或重定向服务器中的节目路径。
步骤S95,根据节目位置信息或重定向服务器中的节目路径重新下载。例如,当机顶盒重启时,根据所保存的节目位置信息或重定向服务器中的节目路径与媒体资源服务器或重定向服务器重新连接,从而续传未下载完的节目。
本实施例中,当节目下载失败时,可保存节目位置信息或重定向服务器中的节目路径,从而可续接前次下载过程,获取完整的节目。
本发明提供了一种节目下载系统,可用于实现上述节目下载方法。如图7所示,该节目下载系统包括:业务服务器10、机顶盒20、媒体资源服务器30及重定向服务器40,其中,业务服务器10包括节目信息判断模块11,用于判断媒体资源服务器30中是否存在与下载请求对应的节目信息;
首次重定向信息发送模块12,用于当媒体资源服务器30中存在对应的节目信息时,下发节目位置信息;以及当媒体资源服务器30中不存在对应的节目信息时,下发重定向服务器40的地址。
机顶盒20包括:
接收模块21,用于获取业务服务器10发送的第一下载信息;在一实施例中,第一下载信息为节目位置信息或重定向服务器40的地址,节目位置信息包括媒体资源服务器30的地址及其中的节目路径;
判断模块22,用于判断第一下载信息是否为节目位置信息;
下载模块23,用于当第一下载信息为节目位置信息时,根据所述节目位置信息下载节目;
重定向模块24,当第一下载信息包含重定向服务器40的地址时,根据重定向服务器40的地址向重定向服务器40发起节目下载请求。
上述媒体资源服务器30用于存储节目,以供下载。在一实施例中,如果机顶盒20接收到的是重定向服务器40的地址,则根据地址向重定向服务器40发起二次节目下载请求。
重定向服务器40用于根据机顶盒20发送的节目下载请求下发第二下载信息,可以设置其为两个或两个以上。所述第二下载信息包括重定向服务器中的节目路径或其它重定向服务器的地址;当重定向服务器40存在节目信息时,则将重定向服务器40中的节目路径下发至机顶盒,以供机顶盒20下载节目;当重定向服务器40不存在节目信息时,则下发其它重定向服务器的地址。
机顶盒20中的下载模块23可根据节目位置信息下载节目。例如,若业务服务器10下发的是媒体资源服务器30的地址及其中的节目路径,则根据媒体资源服务器30的地址及其中节目路径从媒体资源服务器30中下载节目。
重定向模块24可根据重定向服务器40的地址向重定向服务器40发起节目下载请求。例如,若业务服务器10下发的是重定向服务器40的地址,则根据该地址向重定向服务器40发起节目下载请求,并根据重定向服务器40反馈的第二下载信息从该重定向服务器40或其它重定向服务器中下载节目。
本实施方式中,通过业务服务器10在下发下载信息时下发上述节目位置信息或重定向服务器40的地址信息,使机顶盒20即便未获取媒体资源服务器30中的相关节目信息,也可通过重定向服务器40下载到所需的节目信息,扩展了机顶盒20下载节目的灵活性,提高了节目下载的成功率。
上述重定向服务器40还可用于根据节目下载请求下发第二下载信息。如图8所示,重定向服务器40还可包括:
自身判断模块41,用于判断自身是否存在节目信息;例如,判断存储器中是否存在相应的节目文件。
第二下载信息发送模块42,用于当自身存在节目信息时,下发重定向服务器40中的节目路径;以及当自身不存在节目信息时,下发其它重定向服务器的地址。在一实施例中,重定向服务器40一方面可以存储节目,其它方面可以将节目路径或其它重定向服务器的地址下发至机顶盒。可在下载系统中设置多个重定向服务器40,当一个重定向服务器40不存在文件信息时,将其它重定向服务器40的地址下发至机顶盒,并照此循环,直至机顶盒20获取需要的节目。
在一实施例中,机顶盒20中接收模块21还用于获取重定向服务器40发送的第二下载信息,判断模块22还用于判断第二下载信息是否包含重定向服务器40中的节目路径或其它重定向服务器的地址;下载模块23还用于当第二下载信息包含所述节目路径时,根据节目路径下载节目;重定向模块24还用于当第二下载信息包含其它重定向服务器的地址时,向其它重定向服务器发起节目下载请求。
如图9所示,上述机顶盒20还可包括:
播放判断模块25,用于判断下载过程中是否有节目在播放;如果在播放过程中高速下载节目,可能导致节目播放发生故障。可通过机顶盒20中的播放判断模块25判断下载过程中是否有节目在播放。
下载速率设置模块26,用于当没有节目在播放时,启用高速率下载;以及当有节目在播放时,降低下载速率。
分片处理模块27,用于在媒体节目下载过程中将节目进行分片处理;
存储模块28,用于在节目下载失败时,保存节目位置信息或重定向服务器中的节目路径;例如,当媒体资源服务器30或重定向服务器40发生故障时,机顶盒20与媒体资源服务器30或重定向服务器40之间的连接断开,节目未下载完成。此时,机顶盒20将节目下载标识未失败,并通过存储模块28保存上述节目位置信息或重定向服务器中的节目路径。
下载重启模块29,用于根据节目位置信息或重定向服务器中的节目路径重新下载。例如,当机顶盒重20启时,下载重启模块29可根据所保存的节目位置信息或重定向服务器中的节目路径与媒体资源服务器30或重定向服务器40重新连接,从而续传未下载完的节目。
本实施例中通过设置下载速率,可在网络电视播放节目时不影响用户观看节目,又可充分利用带宽下载节目,提升了用户体验。当节目下载失败时,可保存节目位置信息或重定向服务器40中的节目路径,从而可续接前次下载过程,获取完整的节目。此外,机顶盒20还包括主控模块、播放器等一些基本功能模块,其结构和原理为本领域技术人员所周知,在此不作赘述。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。