一种视频点播类业务的实现方法、服务器及客户端的制作方法

文档序号:7653426阅读:186来源:国知局
专利名称:一种视频点播类业务的实现方法、服务器及客户端的制作方法
技术领域
本发明涉及流媒体业务,特别涉及一种视频点播类业务的实现技术。
背景技术
传统模拟电视发展到数字电视后,为电视节目的灵活处理奠定了基础,各种新颖的业务陆续涌现。最初的广播电视业务的特点是单向(用户与头端没有业务交互)、广播式(众多用户收看同一个节目)。随后根据用户的需要出现了视频点播VOD(Video on Demand)业务,运营商预先准备了大量影片存储在视频点播系统中,这样,用户可以在方便的时间选择想看的节目,向视频点播系统发出点播请求,随意地控制节目的快进、快退播放,不再是被动地、单向地收看。
广播电视错过后就难以再看到,而视频点播则占用的服务器和网络带宽成本很高,对这两个业务互相取长补短后,融合出一些全新的业务,例如电视点播TVOD(TV on Demand)、网络个人视频录像nPVR(network Private VideoRecord)、时移电视TSTV(Time Shift TV)等,这些业务将直播节目录制下来供用户使用,和VOD业务有一个共同点,都需要服务器向用户提供流媒体服务,因此这些业务和VOD业务一起统称为VOD类业务,提供VOD类业务的服务器统称为流媒体服务器。
提供VOD类业务的流媒体服务器由多个硬件和多个软件模块构成。服务器的很多硬件或软件模块的故障都可能导致流媒体服务的中断。以VOD技术为例,客户端设备直接从电子节目导航EPG(Electronic Program Guide)服务器中得到包含VOD服务器IP地址信息的通用资源标识URI(Universal ResourceIdentifier)并根据得到的VOD服务器IP地址信息与VOD服务器建立RTSP会话,实现VOD业务。现有技术中从EPG服务器中得到的URI中只包含了一个VOD服务器的IP地址信息,客户端设备如果在使用VOD服务器时遇到VOD服务器故障,无法切换到其它正常VOD服务器,则VOD节目的播放就中断了。
现有的一种切换方法中,EPG向客户端设备提供的信息不是单一的URI,而是包含多个流媒体服务器IP地址信息列表的文件,该文件通过http协议传送,该文件中包含有至少两个流媒体服务器IP地址信息,用于在当前流媒体服务器发生故障后,客户端设备重新从列表中选择一个流媒体服务器继续VOD类业务。该文件中还可以包含具有优先级的多个流媒体服务器IP地址信息列表分组,每个分组中至少包含一台流媒体服务器IP地址信息,客户端设备按照各分组的优先级次序选择下一个流媒体服务器继续VOD类业务。如果播放过程中遇到多次服务器故障,则客户端设备每一次都从列表中重新选择一个未使用过的流媒体服务器继续VOD类业务。
由于需要预先将所有可能用到的流媒体服务器IP地址信息列表传送给客户端设备,传送数据量大,传输的数据中绝大部分为备用流媒体服务器IP地址信息,由于在播放过程中发生故障的概率很小,备用信息在绝大部分情况下是用不到的,因此过多备用信息的传送也增加了系统负担,降低了系统性能。而且流媒体服务器IP地址信息列表是以http协议传送的,http协议传送的低效性也进一步降低了EPG服务器的处理性能,从而降低了整个系统的性能。客户端设备每次点播都需要获取一个包含多个服务器IP地址信息列表的文件,并从中解析出多个流媒体服务器IP地址信息,并能够在开始播放前或者播放过程中遇到服务器故障时按照优先级次序选择流媒体服务器,因此对客户端设备要求也很高。

发明内容
本发明实施例提供一种视频点播类业务的实现方法、用户调度服务器和客户端设备,利用调度服务器实现视频点播类业务。
进一步,本发明实施例还提供了故障流媒体服务器的切换机制,解决了现有技术中为实现故障流媒体服务器的切换而降低了系统性能的问题。
一种视频点播类业务的实现方法,包括客户端设备向调度服务器请求视频点播类业务;并接收调度服务器返回的重定向指示,所述重定向指示中包含调度服务器为所述视频点播类业务选择的至少一个可用流媒体服务器地址信息;以及根据所述可用流媒体服务器地址信息与可用流媒体服务器建立会话并进行所述视频点播类业务。
较佳的,所述可用流媒体服务器地址信息为一个;则客户端设备每一次检测到所述视频点播类业务发生中断时,重新向所述调度服务器请求一个可用流媒体服务器IP地址信息;根据重新请求的可用流媒体服务器IP地址信息与对应可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间,并将所述开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务。
较佳的,所述可用流媒体服务器地址信息至少包括两个,则客户端设备从中选择一个用于建立会话并进行所述视频点播类业务,以及所述方法还包括客户端设备检测到所述视频点播类业务发生中断时,从剩余的可用流媒体服务器地址信息中重新选择一个,并和重新选择的可用流媒体服务器地址信息对应的可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务。
较佳的,客户端设备判断重定向指示中包含的可用流媒体服务器地址信息的个数;如果可用流媒体服务器地址信息为1个,则客户端设备每一次检测到所述视频点播类业务发生中断时,重新向所述调度服务器请求一个可用流媒体服务器地址信息;根据重新请求的可用流媒体服务器地址信息与对应可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间,并将所述开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务;如果可用流媒体服务器地址信息为至少两个,则客户端设备从中选择一个用于建立会话并进行所述视频点播类业务,并在检测到所述视频点播类业务发生中断时,从剩余的可用流媒体服务器地址信息中重新选择一个,和重新选择的可用流媒体服务器地址信息对应的可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务。
一种调度服务器,包括接收单元,用于接收客户端设备的视频点播类业务请求;选择单元,用于为所述接收单元接收的视频点播类业务请求选择可用流媒体服务器;发送单元,用于向客户端设备返回所述选择单元选择出的可用流媒体服务器地址信息。
一种客户端设备,包括解码输出单元和显示单元,所述解码输出单元解码视频点播类业务数据并将解码后的信号输出给显示单元显示;还包括视频点播类业务请求单元、视频点播类业务控制单元、初始URI存储单元和接收缓存单元;其中根据视频点播类业务控制单元的控制,所述视频点播类业务请求单元从EPG服务器获取包含调度服务器地址信息的VOD类业务初始URI,所述初始URI被视频点播类业务控制单元保存到所述初始URI存储单元中;向调度服务器发送视频点播类业务请求,并接收所述调度服务器返回的重定向指示,所述重定向指示中包含调度服务器为所述视频点播类业务选择的可用流媒体服务器地址信息;以及根据所述可用流媒体服务器地址信息与对应可用流媒体服务器建立会话;接收缓存单元用于从建立会话的可用流媒体服务器接收并缓存视频点播类业务数据,以及将缓存数据输出给所述解码输出单元。
较佳的,所述客户端设备还包括检测单元,用于在每一次检测到所述视频点播类业务发生中断时,触发所述VOD类业务控制单元。
较佳的,所述VOD类业务控制单元根据检测单元的触发,控制所述视频点播类业务请求单元请求所述调度服务器重新选择可用流媒体服务器,所述视频点播类业务请求单元和调度服务器重新选择的可用流媒体服务器建立会话并重新请求视频点播类业务,重新请求的视频点播类业务开始播放时间为之前所述视频点播类业务的中断时间。
较佳的,所述客户端设备还包括第一存储单元,用于存储故障流媒体服务器信息,所述视频点播类业务请求单元在每一次请求所述调度服务器重新选择可用流媒体服务器时,将所述第一存储单元中存储的故障流媒体服务器地址信息发送给所述调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器。
较佳的,所述客户端设备还包括第二存储单元,所述视频点播类业务请求单元从所述重定向指示中获取至少两个可用流媒体服务器地址信息,所述视频点播类业务控制单元将所述至少两个可用流媒体服务器地址信息保存到第二存储单元中,并从所述存储单元选择一个可用流媒体服务器地址信息用于和对应用流媒体服务器建立会话并进行所述视频点播类业务;所述VOD类业务控制单元根据检测单元的触发,触发所述视频点播类业务控制单元从第二存储单元重新选择一个可用流媒体服务器地址信息,并触发视频点播类业务请求单元和重新选择的可用流媒体服务器地址信息对应的可用流媒体服务器建立会话以重新请求视频点播类业务,重新请求的视频点播类业务开始播放时间为之前所述视频点播类业务的中断时间。
本发明实施例中,客户端设备从EPG服务器获取调度服务器的地址信息,然后通过重定向流程从调度服务器处获取可用的VOD类服务器地址信息,再和可用的VOD类服务器建立会话,从而实现VOD类业务,因此EPG服务器只需要向客户端设备提供调度服务器的地址信息,从而减轻了EPG服务器的负担。调度服务器根据各VOD类服务器的负载情况选择可用VOD类服务器,平衡了各VOD类服务器的负载;进一步,当提供VOD类业务的VOD类服务器发生故障时,本发明实施例通过重新发起重定向流程从调度服务器处再次获取新的可用VOD类服务器地址信息并进行切换;或者,调度服务器在向客户端设备发送可用的VOD类服务器地址信息的同时,发送至少一个备用VOD类服务器地址信息以实现故障切换。从而保证了VOD类服务器故障时,客户端设备能够切换到其它正常的VOD服务器上,本发明实施例提供的故障切换机制并没有增加EPG服务器的负担,也没有降低系统性能。


图1为本发明实施例提供的一种VOD类业务实现系统的主要结构示意图;图2为本发明实施例提供的第一种VOD业务实现方法流程示意图;图3为本发明实施例提供的第二种VOD业务实现方法流程示意图;图4为本发明实施例提供的第三种VOD业务实现方法流程示意图;图5、图6分别为本发明实施例提供的调度服务器主要结构示意图;图7、图8分别为本发明实施例提供的客户端设备主要结构示意图。
具体实施例方式
本发明实施例为降低VOD类业务切换时EPG服务器的负担和对客户端能力的要求,提供一种VOD类业务的实现方法,由EFG服务器向用户客户端设备提供调度服务器的IP地址信息,用户客户端设备根据获取的调度服务器IP地址信息,向调度服务器请求流媒体服务器的IP地址信息,然后与可用流媒体服务器建立RTSP会话进行VOD类业务。
本发明实施例还提供两种故障切换机制,以保证在提供VOD类业务的流媒体服务器发生故障时,客户端设备可以切换到正常的流媒体服务器上继续VOD类业务,其中第一种故障切换机制中,当提供VOD类业务的流媒体服务器发生故障时,客户端设备重新向调度服务器请求新的可用流媒体服务器的IP地址信息,再与新的可用流媒体服务器建立RTSP会话继续VOD类业务;第二种故障切换机制中,调度服务器向客户端设备发送至少两个可用流媒体服务器IP地址信息,客户端设备根据其中一个可用流媒体服务器IP地址信息和对应的可用流媒体服务器建立RTSP会话以进行VOD类业务;如果该可用流媒体服务器发生故障,再利用剩余的可用流媒体服务器IP地址信息与其它可用流媒体服务器建立RTSP会话以继续VOD类业务。
上述两种机制还可以结合使用,客户端设备在收到调度服务器发送的可用流媒体服务器IP地址信息时,检测可用流媒体服务器IP地址信息的数量,如果为一个则根据第一种故障切换机制实现切换,如果不止一个,则利用第二种故障切换机制实现切换,第二种故障切换机制中,当所有IP地址尝试完毕后,还可以再按第一种切换方式重新向调度服务器请求新的可用流媒体服务器的IP地址信息,再与新的可用流媒体服务器建立RTSP会话继续VOD类业务。
下面以具体实施例并结合附图进行详细说明。
如图1所示,为本发明实施例提供的VOD业务实现系统,主要包括多个流媒体服务器(101、102......10n),用于提供VOD类业务;
调度服务器(RRS,Request Routing Server)20,用于为请求的VOD类业务选择可用流媒体服务器;EFG服务器30,用于提供VOD业务的初始URI,其中包含调度服务器20的IP地址信息;至少一个客户端设备40,用于根据EFG服务器30提供的调度服务器20IP地址信息,向调度服务器20请求VOD类业务,根据调度服务器20返回的重定向指示中携带的可用流媒体服务器IP地址信息,和流媒体服务器(101、102......10n)中对应的流媒体服务器建立实时流协议RTSP(Real TimeStreaming Protocol)会话以进行VOD类业务;本发明实施例中,调度服务器可以依据各VOD类服务器的运行情况选择可用流媒体服务器,选择策略可以是为请求VOD类业务的客户端设备选择负载最轻的可用VOD类服务器,或者选择距离客户端设备最近的可用VOD类服务器等,本发明实施例并不限定具体的选择方法,本发明实施例同样也不限定调度服务器获取各VOD类服务器运行情况的方法,可以是各VOD类服务器主动汇报给调度服务器,也可以是调度服务器从各VOD类服务器处获取的,还可以是调度服务器根据每一次选择可用VOD服务器的RTSP消息自己记录的等。
在本发明提供的第一个实施例中,调度服务器每次为客户端设备选择一个可用VOD类服务器,并在重定向指示中发送给客户端设备,如果客户端设备每一次检测到VOD类业务发生中断,则重新向调度服务器请求一个可用流媒体服务器,然后根据调度服务器重新选择的可用流媒体服务器IP地址信息与对应可用流媒体服务器建立RTSP会话;并将所述VOD类业务的中断时间作为重新请求的VOD类业务的开始播放时间发送给该新的可用流媒体服务器以继续所述VOD类业务,实现了故障流媒体服务器的切换。
进一步,在该方法中,客户端设备在每一次重新请求所述VOD类业务时,还可以将所述VOD类业务中断时的故障流媒体服务器IP地址信息发送给所述调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器,可以提高一次切换的成功率。客户端设备还可以保存每一个故障流媒体服务器的IP地址信息,并在每一次重新请求VOD类业务,将之前保存的所有故障流媒体服务器IP地址信息全部发送给所述调度服务器。
在本发明提供的第二个实施例中,调度服务器为客户端设备选择至少两个可用流媒体服务器,并在重定向指示中将该至少两个可用流媒体服务器IP地址信息全部发送给客户端设备,客户端设备从中选择一个用于建立RTSP会话并开始进行所述VOD类业务。如果客户端设备检测到所述VOD类业务发生中断,可以再从剩余的可用流媒体服务器IP地址信息中重新选择一个,并和重新选择的可用流媒体服务器IP地址信息对应的可用流媒体服务器建立RTSP会话;并将所述VOD类业务的中断时间作为重新请求的VOD类业务的开始播放时间发送给该新的可用流媒体服务器以继续所述VOD类业务。
下面以VOD业务为例,结合附图详细说明本发明实施里提供的VOD类业务的实现方案。
如图2所示,为本发明实施例提供的第一种VOD业务流程,其中步骤S201-S207为VOD业务的建立过程,具体包括步骤S201、客户端设备从EPG获取节目的初始URI,其中包含调度服务器的IP地址信息;步骤S202、客户端设备发送包含节目的初始URI的RTSP消息,向调度服务器请求VOD业务,发送的消息可以是RTSP协议允许初始发送的任何消息,例如选项(OPTIONS)消息、描述(DESCRIBE)消息等,也可以在DESCRIBE后面发送建立(SETUP)消息;本发明实施例中,客户端设备通过DESCRIBE消息,使用如下格式的URI向调度服务器发起RTSP会话交互,称为URI_RRSRTSP//<SERVER_IP>port/Asset_Path_Name?Other_Parameters=<Value>&...
其中URI_RRS中的SERVER_IP统一填成调度服务器的IP地址信息;Asset_Path_Name是要播放的影片的存放路径和文件名;Other_Parameters包括用户认证等所需的信息。
步骤S203、调度服务器为客户端设备请求的VOD业务选择一个可用VOD服务器,例如VOD服务器101;当在本地找不到可用的服务器时,还可以提供一个用预先配置的IP地址信息或主机名构造的URI,这个预先配置的IP地址信息或主机名是备用系统的IP地址信息,在分布式部署的VOD系统中,通常下级的VOD子系统把上级VOD子系统作为备用系统;步骤S204、调度服务器向客户端设备重定向指示,其中携带可用VOD服务器101的IP地址信息;具体地说,对收到的消息(OPTIONS或DESCRIBE)给出响应,响应消息中的状态码可以为3XX(表示以3开头的3位数,例如300,301,302,等),对于DESCRIBE可以直接用3XX响应,也可以先回应200OK,然后对SETUP回应3XX;例如重定向指示可以通过回复300(RFC2326中定义为Multiple Choices)实现,调度服务器和VOD服务器一样,接受客户端设备发起的RTSP请求,但是并不提供VOD业务,而是指示客户端设备重定向到可用VOD服务器上;步骤S205、客户端设备向可用VOD服务器发起的RTSP会话建立请求;在这一过程中,客户端设备依次发送OPTIONS(此消息可选)、DESCRIBE、SETUP消息,可用VOD服务器101向客户端设备逐个响应200OK;本发明实施例中,客户端设备使用如下格式的URI向可用VOD服务器发起RTSP会话建立请求,称为URI_VOD,URI_VOD的格式与URI_RRS的格式一致,只是IP地址信息替换为可用VOD服务器IP地址信息RTSP//<VOD_IP>port/Asset_Path_Name?Other_Parameters=<Other_Parameters_Value>&...
步骤S206、RTSP会话建立响应;可用VOD服务器101最终对SETUP消息响应200OK时,响应消息中携带会话号用以标识该会话,RTSP会话建立成功,表示接纳客户端设备的RTSP会话请求;步骤S207、客户端设备使用VOD业务;客户端设备发送PLAY消息控制VOD服务器101发送数据,使用VOD业务,期间,可以再发PLAY控制快进播放、快退播放或常速播放,发PAUSE(可选)暂停播放、发OPTIONS(可选)或者GET_PARAMETER(可选)保持RTSP会话。这些消息中的会话号应与SETUP的响应消息中携带的会话号相等,表明这些消息属于上述RTSP会话。
步骤S208-S214为VOD业务的故障倒换过程,具体包括步骤S208、客户端设备检测到VOD业务发生中断;客户端设备从VOD服务器101使用VOD业务,正常情况下一直播放至结束。如果播放过程中VOD服务器101由于某种原因不能继续提供媒体数据供客户端设备播放,比如VOD服务器101遇到了软件故障、硬件故障、网线松动等情况,客户端设备将检测到VOD业务中断。
检测VOD业务是否中断的方法有多种,本发明实施例并不加以限定,例如,在200毫秒内没有收到数据就认为业务中断。这里200毫秒只是一个示例,实际应用时可略大或略小。因为网络传输总会有波动,取值过小会使得检测不可靠;取值过大将增大对客户端设备缓冲区的要求,也不可取,通常在10毫秒到3秒的范围内取值。客户端设备启动一个时长为200毫秒的定时器,每收到一个数据包就把定时器清零。正常情况下,200毫秒内会收到很多数据包,定时器被清零多次,因此是不会超时。例如,码流为1.5Mbps,数据包大小为1500字节,每字节8bit,每秒有5个200毫秒,则200毫秒内平均会收到1500000÷1500÷8÷5=25个数据包,如果200毫秒内收到的数据包为0个则认为检测到VOD业务中断。也可以采用其它大小的定时器,例如,采用10毫秒的定时器,并对定时器的超时次数进行计数,计数到20表示过了200毫秒。
步骤S209、客户端设备发送包含节目的初始URI的RTSP消息,向调度服务器重新请求可用VOD服务器IP地址信息;客户端设备发送OPTIONS或DESCRIBE,也可以在DESCRIBE后面发送SETUP消息,其中可以携带故障VOD服务器的IP地址信息。如果客户端设备发送的第一个消息是OPTIONS,调度服务器可以对该消息响应3XX进行重定向,不用再发其它消息。如果客户端设备发送的第一个消息是DESCRIBE,调度服务器可以对该消息响应3XX进行重定向,不用再发其它消息。RTSP协议也允许先对DESCRIBE先用200OK响应,再对随后的SETUP消息响应3XX进行重定向;本发明实施例中,当VOD服务器的软件、硬件等原因可能导致VOD业务中断时,客户端设备从调度服务器重新获取可用VOD服务器的URI,客户端设备使用如下格式的URI向调度服务器重新请求可用VOD服务器IP地址信息,携带故障VOD服务器信息的URI简称为URI_RRS_WithBadServerInfo,格式例如RTSP//<RRS_IP>port/Asset_Path_Name?Bad_Server_IP=<IP1>&Other_Parameters=<Value>&...
其中RRS_IP为调度服务器的IP,扩展参数Bad_SERVER_IP为不能提供VOD业务的VOD服务器的IP地址信息。扩展参数名称并不限定为Bad_SERVER_IP,只要含义是不能提供业务的服务器的IP地址信息就行。扩展参数Bad_SERVER_IP的作用是指出不能提供业务的服务器的IP地址信息,即VOD服务器101的IP地址信息,以免选择到不能提供业务的VOD服务器上。
步骤S210、调度服务器为客户端设备重新选择可用VOD服务器;调度服务器查找一个可用的且与VOD服务器101的IP地址信息不相同的VOD服务器IP地址信息,例如VOD服务器102。
可选地,当在本地找不到可用的服务器时,可以提供一个用预先配置的IP地址信息或主机名构造的URI,这个预先配置的IP地址信息或主机名是备用系统的IP地址信息。在分布式部署的VOD系统中,通常下级的VOD子系统把上级VOD子系统作为备用系统;步骤S211、调度服务器向客户端设备返回响应消息,状态码为3XX,并携带可用VOD服务器102的IP地址信息;调度服务器在选择VOD服务器时,避开此不能提供业务的VOD服务器101的IP地址信息,以免重新选择VOD服务器时选到故障VOD服务器,导致客户端设备仍然向不能提供业务的VOD服务器请求VOD业务。
调度服务器用重新选出的VOD服务器102的IP地址信息代替原URI中的IP地址信息,生成新的URI,放在对DESCRIBE的响应消息中返回给客户端设备。
步骤S212、客户端设备发送包含可用VOD服务器102IP地址信息的URI的RTSP消息,向可用VOD服务器102发起RTSP会话建立请求;本发明实施例中,客户端设备通过DESCRIBE、SETUP消息向可用VOD服务器102发起RTSP会话建立请求。
步骤S213、可用VOD服务器102向客户端设备返回RTSP会话建立响应;步骤S214、客户端设备与VOD服务器102建立RTSP会话后,继续VOD业务。
客户端设备发的PLAY消息中要把Range参数的开始播放的时间点设置为媒体流数据中断的时间点(在VOD业务中,Range格式为npt类型,在时移电视中Range格式为clock类型),用于指示VOD服务器从媒体流数据中断的时间点开始播放而不是从头开始播放。
由于客户端设备有缓冲区存储一定的VOD类业务媒体流数据可以继续播放,只要在缓冲区数据消耗到停止播放的低限之前能够从正常的VOD服务器接收到媒体流数据,就可以持续播放,实现业务无缝故障倒换的体验。也就是说,客户端设备的缓冲区必须足够大,存储播放时间为t的数据,如果把播放要求的最小时间记为t1,检测到VOD业务中断所需的时间记为t2,VOD服务器发出数据流前RTSP交互时间记为t3,VOD服务器到客户端设备的网络传输延迟记为t4,则要求t>t1+t2+t3+t4。
当播放过程中遇到多次VOD业务中断时,客户端设备可以在每一次重新向调度服务器请求新的可用VOD服务器IP地址信息时,将之前的多个不能提供业务的故障VOD服务器IP地址全部发送给调度服务器,该方式可以通过增加多个扩展参数,或者扩展Bad_SERVER_IP参数的取值允许包含多个IP地址信息实现。
当然,因为调度服务器本身可以获取各VOD服务器的运行情况,客户端设备向调度服务器重新请求可用VOD服务器IP地址信息,也可以不携带故障VOD服务器的IP地址信息。
本发明实施例提供的第二种实施方式如图3所示,主要包括步骤S301、客户端设备从EPG获取节目的初始URI,其中包含调度服务器的IP地址信息;步骤S302、客户端设备发送包含节目的初始URI的RTSP消息,向调度服务器请求VOD业务,发送的消息可以是RTSP协议允许初始发送的任何消息,例如选项(OPTIONS)消息、描述(DESCRIBE)消息等,也可以在DESCRIBE后面发送建立(SETUP)消息;步骤S303、调度服务器的收到RTSP请求消息时,选择至少两个可用VOD服务器;例如选择可用VOD服务器101和可用VOD服务器102;步骤S304、调度服务器在重定向指示中将可用VOD服务器101和可用VOD服务器102发送给客户端设备。
客户端设备获取的基本点播URI的后面扩展参数附带上备用VOD服务器的IP地址信息,如下所示rtsp//192.168.1.10/yeyan.ts?Server_2=192.168.1.11&Server_3=192.168.1.12步骤S305、客户端设备获取此URI后,保存扩展参数附带的备用VOD服务IP地址信息,删除这些扩展参数,然后选择其中一个可用VOD服务器IP地址信息,例如可用VOD服务器101的IP地址信息,第一个IP地址(就是示例中的192.168.1.10)是包含在URI之中的;步骤S306-S307、客户端设备与VOD服务器101建立RTSP会话。
步骤S308、客户端设备发送PLAY消息控制VOD服务器101发送数据,使用VOD业务。
步骤S309-S313、当该VOD服务器业务中断时,客户端设备取出备用VOD服务102的IP地址信息并用来替代原URI中的VOD服务101的IP地址信息,重新与备用VOD服务器102建立RTSP会话。
如图4所示,第一种实施方式和第二种实施方式可以综合使用。步骤S404中的重定向指示中携带一个可用VOD服务IP地址信息,或者至少两个可用VOD服务IP地址信息。在步骤S405中,客户端设备根据重定向指示中携带的可用VOD服务IP地址信息个数判断故障切换机制,如果只有一个可用VOD服务IP地址信息,后续的VOD业务使用和故障切换和图2中的步骤S205-S214相同;如果有至少两个可用VOD服务IP地址信息,后续的VOD业务使用和故障切换和图3中的步骤S305-S313相同,并且,当播放过程中遇到多次故障导致多个可用VOD服务IP地址信息重试完毕时,按步骤S209-S214处理。具体步骤这里不再赘述。
如图5所示,本发明实施例还提供一种调度服务器,包括接收单元501,用于接收客户端设备的VOD类业务请求;选择单元502,用于为所述接收单元接收的VOD类业务请求选择可用流媒体服务器;发送单元503,用于向客户端设备返回所述选择单元选择出的可用流媒体服务器IP地址信息。
进一步,调度服务器还包括获取单元504,用于获取各流媒体服务器的所保存的内容、运行状态(故障、正常)、负载情况,所述选择单元502根据获取单元504获取的信息,选择所述可用流媒体服务器。
获取单元504通过与各流媒体服务器定时通信获取各流媒体服务器的负载大小的信息,并推断其运行状态——通信返回正常结果则流媒体服务器运行正常,通信返回异常结果或通信中断n(1<=n)次则认为流媒体服务器故障。这里不限定获取单元504获取各流媒体服务器的所保存的内容信息的方法,由负责内容注入的部件在内容成功注入流媒体服务器时通知获取单元504或者由获取单元504与各流媒体服务器直接通信获得均可。
如图6所示,如果客户端设备的可用流媒体服务器请求中携带故障流媒体服务器IP地址信息,则调度服务器还包括解析单元505,用于从所述接收单元501接收的可用流媒体服务器请求中解析故障流媒体服务器IP地址信息,并将解析出的故障流媒体服务器IP地址信息发送给选择单元502,所述选择单元502在其它非故障流媒体服务器中选择可用流媒体服务器。
如果是本发明提供的第二种故障切换机制,则选择单元502为可以选择出至少两个可用流媒体服务器的选择单元。
如图7所示,本发明实施例还提供一种客户端设备,包括解码输出单元701和显示单元702,所述解码输出单元701解码VOD类业务数据并将解码后的信号输出给显示单元702显示;VOD类业务请求单元703、VOD类业务控制单元704和初始URI存储单元705;所述VOD类业务请求单元703根据VOD类业务控制单元704的控制,从EPG服务器获取VOD类业务初始URI并保存到所述初始URI存储单元705中;向调度服务器发送VOD类业务请求,并接收所述调度服务器返回的重定向指示,所述重定向指示中包含调度服务器为所述VOD类业务选择的可用流媒体服务器IP地址信息;以及根据所述可用流媒体服务器IP地址信息,与可用流媒体服务器建立RTSP会话;接收缓存单元706,用于从建立RTSP会话的可用流媒体服务器接收并缓存VOD类业务数据,以及将缓存数据输出给所述解码输出单元701。
客户端设备进一步包括检测单元707,用于在每一次检测到所述VOD类业务发生中断时,触发VOD类业务控制单元704,VOD类业务控制单元704触发所述VOD类业务请求单元703请求所述调度服务器重新选择可用流媒体服务器,所述VOD类业务请求单元703和调度服务器重新选择的可用流媒体服务器建立RTSP会话并播放VOD类业务,其开始播放时间为之前所述VOD类业务的中断时间。
仍参阅图7所示,该客户端设备中还可以包括第一存储单元708,用于存储故障流媒体服务器IP地址信息;该客户端设备中,VOD类业务控制单元704每一次触发VOD类业务请求单元703请求调度服务器重新选择可用流媒体服务器时,可以将故障流媒体服务器IP地址信息发送给VOD类业务请求单元703,VOD类业务请求单元703发送给调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器。
或者,所述VOD类业务请求单元在每一次请求所述调度服务器重新选择可用流媒体服务器时,将之前所述VOD类业务的各次中断的所有故障流媒体服务器IP地址信息发送给所述调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器。
如图8所示,如果是本发明实施例提供的第二种实施方式,则客户端设备的结构中包括第二存储单元709,所述VOD类业务请求单元703从所述重定向指示中获取至少两个可用流媒体服务器IP地址信息并发送给VOD类业务控制单元704,VOD类业务控制单元704保存到所述第二存储单元709中,所述VOD类业务控制单元704从所述第二存储单元709中选择一个可用流媒体服务器IP地址信息用于和对应用流媒体服务器建立RTSP会话以进行所述VOD类业务;检测单元707检测到所述VOD类业务发生中断时,触发所述VOD类业务控制单元704再从第二存储单元709重新选择一个可用流媒体服务器IP地址信息,并通过VOD类业务请求单元703和重新选择的可用流媒体服务器IP地址信息对应的可用流媒体服务器建立RTSP会话并播放VOD类业务,其开始播放时间为之前所述VOD类业务的中断时间。
其中,VOD类业务控制单元704还可以判断收到的可用流媒体服务器IP地址信息的个数,如果是1个,则使用第一种故障切换机制,如果是多个,则使用第二种故障切换机制。
进一步,在第二存储单元709中的可用流媒体服务器IP地址信息重试完毕后使用第一种故障切换机制。
具体的从用户调度流媒体服务器返回的响应中携带1或n个流媒体服务器IP地址信息。当只提供单一的URI时,只携带1个流媒体服务器IP地址信息,VOD类业务控制单元704控制VOD类业务请求单元703使用此URI建立RTSP会话;当URI中另外携带1个或多个备用流媒体服务器IP地址信息时,VOD类业务控制单元704控制VOD类业务请求单元703使用此URI建立RTSP会话,如果播放过程中检测到业务中断,首先依次使用附带的参数中的1个或多个备用流媒体服务器IP地址信息替换URI中的IP地址信息重试,只有全部重试失败才附加故障IP地址信息再次向用户调度流媒体服务器进行RTSP交互。客户端设备向用户调度流媒体服务器发的RTSP请求中可以携带0、1或n个故障流媒体服务器IP地址信息。客户端设备第一次向用户调度流媒体服务器发请求消息时不携带故障流媒体服务器IP地址信息;遇到1个故障流媒体服务器后向用户调度流媒体服务器发请求消息时携带1个故障流媒体服务器IP地址信息;遇到n(1<n)个故障流媒体服务器后向用户调度流媒体服务器发请求消息时携带n个故障流媒体服务器IP地址信息;
本发明实施例中,客户端设备从EPG服务器获取调度服务器的IP地址信息,然后通过重定向流程从调度服务器处获取可用的VOD类服务器IP地址信息,再和可用的VOD类服务器建立RTSP会话,从而实现VOD类业务,因此EPG服务器只需要向客户端设备提供调度服务器的IP地址信息,从而减轻了EPG服务器的负担。调度服务器根据各VOD类服务器的负载情况选择可用VOD类服务器,平衡了各VOD类服务器的负载;进一步,当提供VOD类业务的VOD类服务器发生故障时,本发明实施例通过重新发起重定向流程从调度服务器处再次获取新的可用VOD类服务器IP地址信息并进行切换;或者,调度服务器在向客户端设备发送可用的VOD类服务器IP地址信息的同时,发送至少一个备用VOD类服务器IP地址信息以实现故障切换。从而保证了VOD类服务器故障时,客户端设备能够切换到其它正常的VOD服务器上,本发明实施例提供的故障切换机制并没有增加EPG服务器的负担,也没有降低系统性能;客户端设备缓存接收的视频点播类业务流媒体数据后播放缓存数据,通过调整客户端设备的缓存数据总量,被缓存的数据总量的播放时间大于等于客户端设备从视频点播类业务发生中断到重新与一个可用流媒体服务器建立RTSP会话并收到媒体数据所需要的时间,还可以实现无缝故障切换,使用户感觉不到业务中断,提升了用户体验;本发明实施例基于标准的RTSP协议并对参数的扩展和取值作相应的处理,业务流程简单,对客户端设备的要求低。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种视频点播类业务的实现方法,其特征在于,包括客户端设备向调度服务器请求视频点播类业务;并接收调度服务器返回的重定向指示,所述重定向指示中包含调度服务器为所述视频点播类业务选择的至少一个可用流媒体服务器的地址信息;以及根据所述可用流媒体服务器地址信息与可用流媒体服务器建立会话并进行所述视频点播类业务。
2.如权利要求1所述的方法,其特征在于,所述可用流媒体服务器地址信息为一个。
3.如权利要求2所述的方法,其特征在于,还包括客户端设备确认所述可用流媒体服务器地址信息为一个。
4.如权利要求2或3所述的方法,其特征在于,还包括客户端设备每一次检测到所述视频点播类业务发生中断时,重新向所述调度服务器请求一个可用流媒体服务器地址信息;根据重新请求的可用流媒体服务器地址信息与对应可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间,并将所述开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务。
5.如权利要求4所述的方法,其特征在于,还包括客户端设备在每一次重新请求可用流媒体服务器地址信息时,将故障流媒体服务器地址信息发送给所述调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器。
6.如权利要求5所述的方法,其特征在于,还包括客户端设备保存每一个故障流媒体服务器的地址信息,并在每一次重新请求视频点播类业务时,将之前保存的所有故障流媒体服务器地址信息全部发送给所述调度服务器。
7.如权利要求1所述的方法,其特征在于,所述可用流媒体服务器地址信息至少包括两个。
8.如权利要求7所述的方法,其特征在于,还包括客户端设备确认所述可用流媒体服务器地址信息至少包括两个。
9.如权利要求7或8所述的方法,其特征在于,还包括客户端设备从中所述至少两个可用流媒体服务器地址信息中选择一个用于建立会话并进行所述视频点播类业务,并在检测到所述视频点播类业务发生中断时,从剩余的可用流媒体服务器地址信息中重新选择一个,并和重新选择的可用流媒体服务器地址信息对应的可用流媒体服务器建立会话;并将所述视频点播类业务的中断时间作为重新请求的视频点播类业务的开始播放时间发送给该新的可用流媒体服务器以继续所述视频点播类业务。
10.如权利要求2、3、5、6、7、8或9所述的方法,其特征在于,还包括所述客户端设备缓存接收的视频点播类业务流媒体数据后播放缓存数据,被缓存的数据总量的播放时间大于等于客户端设备从视频点播类业务发生中断到重新与一个可用流媒体服务器建立会话并收到媒体数据所需要的时间。
11.一种调度服务器,其特征在于,包括接收单元,用于接收客户端设备的视频点播类业务请求;选择单元,用于为所述接收单元接收的视频点播类业务请求选择可用流媒体服务器;发送单元,用于向客户端设备返回所述选择单元选择出的可用流媒体服务器地址信息。
12.如权利要求11所述的调度服务器,其特征在于,还包括获取单元,用于获取各流媒体服务器的负载情况,所述选择单元根据各流媒体服务器的负载情况选择所述可用流媒体服务器。
13.如权利要求11或12所述的调度服务器,其特征在于,还包括解析单元,用于从所述接收单元接收的可用流媒体服务器请求中解析故障流媒体服务器地址信息,并将解析出的故障流媒体服务器地址信息发送给选择单元,所述选择单元在其它非故障流媒体服务器中选择可用流媒体服务器。
14.一种客户端设备,其特征在于,包括视频点播类业务请求单元、视频点播类业务控制单元、初始URI存储单元、接收缓存单元、解码输出单元和显示单元;其中所述视频点播类业务请求单元用于根据视频点播类业务控制单元的控制从EPG服务器获取包含调度服务器地址信息的VOD类业务初始URI,所述初始URI被视频点播类业务控制单元保存到所述初始URI存储单元中;向调度服务器发送视频点播类业务请求,并接收所述调度服务器返回的重定向指示,所述重定向指示中包含调度服务器为所述视频点播类业务选择的可用流媒体服务器地址信息;以及根据所述可用流媒体服务器地址信息与对应可用流媒体服务器建立会话;接收缓存单元用于从建立会话的可用流媒体服务器接收并缓存视频点播类业务数据,以及将缓存数据输出给所述解码输出单元;所述解码输出单元解码视频点播类业务数据并将解码后的信号输出给显示单元显示。
15.如权利要求14所述的客户端设备,其特征在于,还包括检测单元,用于在每一次检测到所述视频点播类业务发生中断时,触发所述VOD类业务控制单元。
16.如权利要求15所述的客户端设备,其特征在于,还包括所述视频点播类业务请求单元根据检测单元的触发,请求所述调度服务器重新选择可用流媒体服务器,所述视频点播类业务请求单元和调度服务器重新选择的可用流媒体服务器建立会话并重新请求视频点播类业务,重新请求的视频点播类业务开始播放时间为之前所述视频点播类业务的中断时间。
17.如权利要求15所述的客户端设备,其特征在于,还包括第一存储单元,用于存储故障流媒体服务器信息,所述视频点播类业务请求单元在每一次请求所述调度服务器重新选择可用流媒体服务器时,将所述第一存储单元中存储的故障流媒体服务器地址信息发送给所述调度服务器,指示所述调度服务器从其它非故障流媒体服务器中重新选择可用流媒体服务器。
18.如权利要求15所述的客户端设备,其特征在于,还包括第二存储单元,所述视频点播类业务请求单元从所述重定向指示中获取至少两个可用流媒体服务器地址信息,所述视频点播类业务控制单元将所述至少两个可用流媒体服务器地址信息保存到第二存储单元中,并从所述存储单元选择一个可用流媒体服务器地址信息用于和对应用流媒体服务器建立会话并进行所述视频点播类业务;所述视频点播类业务控制单元根据检测单元的触发,从第二存储单元重新选择一个可用流媒体服务器地址信息,并触发视频点播类业务请求单元和重新选择的可用流媒体服务器地址信息对应的可用流媒体服务器建立会话以重新请求视频点播类业务,重新请求的视频点播类业务开始播放时间为之前所述视频点播类业务的中断时间。
全文摘要
本发明提供一种视频点播类业务的实现方法和设备,本发明实施例提供的VOD类业务的实现方法,由EFG服务器向用户客户端设备提供URI,该URI包含调度服务器的IP地址信息,用户客户端设备根据获取的URI,向调度服务器请求流媒体服务,然后重定向到可用流媒体服务器上进行VOD类业务。如果客户端设备在VOD类业务进行过程中检测到流媒体服务器发生故障,则客户端设备重新向调度服务器请求可用流媒体服务器的IP地址信息或者根据之前发送的备用可用流媒体服务器的IP地址信息,再重定向到另一个流媒体服务器上继续VOD类业务。
文档编号H04L29/12GK101068339SQ20071010589
公开日2007年11月7日 申请日期2007年6月1日 优先权日2007年6月1日
发明者高智 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1