本发明涉及互联网技术领域,尤其涉及一种播放视频直播容灾方法及装置。
背景技术:
在IPTV(Internet Protocol Television,交互式网络电视)网络中,当CDN(Content Delivery Network,内容分发网络)中心节点或是中心机房发生故障时候,为了最大限度的减少对用户的业务使用产生影响,保证用户的正常直播服务,提出了一种通过异地进行直播容灾备份的方法,以提升IPTV系统的稳定性和可靠性,保障用户对视频观看的最终体验。
目前很多运营商厂家为了进行容灾建设,投入大笔资金进行容灾平台的建设,通常采用的一种方式是双平台的建设,基于双平台的建设模式,在系统进行切换后,虽然可以满足比较全面的灾备服务,但是该容灾系统无法在系统异常时候进行自动切换,而通过手动切换的风险很高,也很难保证切换的成功性。因此,现有建设的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差。
技术实现要素:
本发明的主要目的在于提供一种播放视频直播容灾方法及装置,旨在解决现有建设的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差的问题。
为实现上述目的,本发明提供的一种播放视频直播容灾方法,应用于包括主中心节点、备中心节点的视频直播系统中,该视频直播系统还包括与所述主中心节点连接的第一汇聚点以及与所述备中心节点连接的第二汇聚点,所述播放视频直播容灾的方法包括以下步骤:
机顶盒检测与第一直播源的连接是否发生故障;
若没有发生故障,所述机顶盒经第一汇聚点接收与主中心节点连接的第一直播源发送的组播码流;
若发生故障,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
可选地,所述视频直播系统还包括主接入服务器以及备接入服务器,所述机顶盒与第一直播源的连接发生故障包括:
所述机顶盒接入所述主接入服务器失败,其中,所述主接入服务器在所述机顶盒接入成功时,向所述机顶盒反馈主中心节点的地址,以供所述机顶盒接入所述主中心节点;
或者,所述机顶盒经所述第一汇聚点获取组播码流失败。
可选地,在所述机顶盒与第一直播源的连接发生故障为,所述机顶盒接入所述主接入服务器失败时,所述机顶盒接入所述主接入服务器失败,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流的步骤包括:
所述机顶盒接入所述主接入服务器失败,则所述机顶盒接入所述备接入服务器;
接收所述备接入服务器反馈至所述机顶盒的备中心节点的地址;
接入所述备中心节点,并经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
可选地,所述第一汇聚点以及所述第二汇聚点的组播码流配置共享。
可选地,所述机顶盒经所述第一汇聚点获取组播码流失败,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流的步骤包括:
所述机顶盒经所述第一汇聚点获取组播码流失败,则获取所述第一汇聚点与所述第二汇聚点共享的与备中心节点连接的第二直播源发送的组播码流。
此外,为实现上述目的,本发明还提供一种播放视频直播容灾装置,应用于包括主中心节点、备中心节点的视频直播系统中,该视频直播系统还包括与所述主中心节点连接的第一汇聚点以及与所述备中心节点连接的第二汇聚点,所述播放视频直播容灾装置包括:
检测模块,用于检测与第一直播源的连接是否发生故障;
接收模块,用于若没有发生故障,则经第一汇聚点接收与主中心节点连接的第一直播源发送的组播码流,以及若发生故障,则经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
可选地,所述视频直播系统还包括主接入服务器以及备接入服务器,所述机顶盒与第一直播源的连接发生故障包括:
所述机顶盒接入所述主接入服务器失败,其中,所述主接入服务器在所述机顶盒接入成功时,向所述机顶盒反馈主中心节点的地址,以供所述机顶盒接入所述主中心节点;
或者,所述机顶盒经所述第一汇聚点获取组播码流失败。
可选地,在所述机顶盒与第一直播源的连接发生故障为,所述机顶盒接入所述主接入服务器失败时,所述接收模块包括:
接入单元,用于接入所述备接入服务器;
接收单元,用于接收所述备接入服务器反馈至所述机顶盒的备中心节点的地址;
获取单元,用于根据接收到的地址接入所述备中心节点,并经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
可选地,所述备接入服务器反馈至所述机顶盒的备中心节点的地址为所述备接入服务器分析所述机顶盒预设的用户数据所得到的,其中,所述机顶盒预设的用户数据为所述机顶盒的用户信息以及频道列表信息。
可选地,所述第一汇聚点以及所述第二汇聚点的组播码流配置共享。
本发明通过机顶盒检测与第一直播源的连接是否发生故障,从而确定是从主中心节点还是备中心节点获取组播码流,并在确定与第一直播源的连接发生故障时,自动切换成从第二汇聚点请求接收与备中心节点连接的第二直播源所注册的组播码流,从而解决了现有建设的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差的问题,提高了系统的稳定性和可靠性。
附图说明
图1为本发明播放视频直播容灾方法的第一实施例的流程示意图;
图2为机顶盒获取组播码流的流程示意图;
图3为机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流的步骤的细化流程示意图;
图4为本发明播放视频直播容灾装置的第一实施例的功能模块示意图;
图5为图4中接收模块的细化功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
基于上述问题,本发明提供一种播放视频直播容灾方法,应用于包括主中心节点、备中心节点的视频直播系统中,该视频直播系统还包括与所述主中心节点连接的第一汇聚点以及与所述备中心节点连接的第二汇聚点。
参照图1,图1为本发明播放视频直播容灾方法的第一实施例的流程示意图。
在本实施例中,所述播放视频直播容灾方法包括:
步骤S10,机顶盒检测与第一直播源的连接是否发生故障;
在本实施例中,机顶盒配置了主接入服务器,即主EPG(Electronic Program Guide,电子节目菜单)服务器的地址及备接入服务器(备EPG服务器)的地址,在主接入服务器的地址链路正常时,机顶盒接入主接入服务器,主接入服务器对机顶盒的用户信息进行鉴权、认证等操作;在主接入服务器的地址链路异常时,机顶盒自动接入备接入服务器,由备接入服务器对机顶盒的用户信息进行鉴权、认证等操作。机顶盒与第一直播源的连接发生故障的情形主要有以下两种。一种是机顶盒在开机后通过主接入服务器登录到IPTV系统时,不能成功登录;另一种是用户在观看视频直播的过程中,提供直播码流的主中心节点发生故障。因此,在检测所述机顶盒与第一直播源的连接是否发生故障时,可以通过检测所述机顶盒是否能接入所述主接入服务器来判断所述机顶盒与所述第一直播源的连接是否发生故障,或者可以通过检测所述机顶盒是否能接收到主中心节点的组播码流来判断所述机顶盒与所述第一直播源的连接是否发生故障。需要说明的是,上述所描述的机顶盒与第一直播 源连接发生故障,指的是机顶盒不能获取到第一直播源的码流数据为用户提供直播服务。
步骤S20,若没有发生故障,所述机顶盒经第一汇聚点接收与主中心节点连接的第一直播源发送的组播码流;
RP(Rendezvous Point,汇聚点),在SM(Sparse Mode,稀疏模式)中作为组播的汇聚点,发送者和接收者在RP处进行汇聚,所有的组播数据需要在RP上注册,然后所有需要组播数据的接收者通过向RP发送JOIN报文来请求数据。具体的,参照图2,在视频直播过程中,第一直播源通过SW(switch,交换机)将组播码流引入所述主中心节点,所述主中心节点将接收到的组播码流组播到第一汇聚点进行注册;第二直播源通过另一交换机将组播码流引入所述备中心节点,所述备中心节点将接收到的组播码流组播到第二汇聚点进行注册。在所述机顶盒与所述第一直播源正常连接时,当机顶盒需要接收组播码流,机顶盒加入所述第一汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第一汇聚点的组播域中,预先配置机顶盒到所述第一汇聚点的cost小于到所述第二汇聚点的cost,即所述机顶盒到所述第一汇聚点的组播路径优于所述机顶盒到所述第二汇聚点的组播路径,因此,所述机顶盒向所述第一汇聚点发送JOIN报文来请求组播数据,从而经第一汇聚点接收到与主中心节点连接的第一直播源发送的组播码流。
步骤S30,若发生故障,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
在本实施例中,所述故障包括两种,一种是所述机顶盒接入主接入服务器失败,一种是机顶盒经所述第一汇聚点获取组播码流失败。因此,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流也包括两种情景。一种当机顶盒需要接收组播码流时,所述机顶盒加入所述第二汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第二汇聚点的组播域中,预先配置机顶盒到所述第二汇聚点的cost小于到所述第一汇聚点的cost,即所述机顶盒到所述第二汇聚点的组播路径优于所述机顶盒到所述第一汇聚点的组播路径,因此,所述机顶盒向所述第二汇聚点发送JOIN报文来请求组播数据,从而经第二汇聚点接收到与主中心节点连接的第一直播源发送的组播码流,上述获取组播码流的方法对应所述机顶盒接入主接入 服务器失败的容灾场景;另一种是当机顶盒需要接收组播码流时,所述机顶盒加入所述第一汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第一汇聚点的组播域中,所述第一汇聚点的cost小于到所述第二汇聚点的cost,即所述机顶盒到所述第一汇聚点的组播路径优于所述机顶盒到所述第二汇聚点的组播路径,而由于所述主中心节点或者所述第一汇聚点的链路出现故障,导致所述机顶盒经所述第一汇聚点获取组播码流失败,而所述第一汇聚点的组播码流与所述第二汇聚点的组播码流预先配置码流共享,即所述第一汇聚点通过码流共享也能获取到所述第二汇聚点的组播码流,所述第二汇聚点通过码流共享也能获取到所述第一汇聚点的组播码流。所述第一汇聚点与所述第二汇聚点的组播码流可以通过anycastRP的配置方式实现码流共享。因此,所述机顶盒向所述第一汇聚点发送JOIN报文来请求组播数据后,获取到经共享的与备中心节点连接的第二直播源发送的组播码流,上述获取组播码流的方法对应经所述第一汇聚点获取组播码流失败的容灾场景。
本实施例通过机顶盒检测与第一直播源的连接是否发生故障,从而确定是从主中心节点还是备中心节点获取组播码流,并在确定与第一直播源的连接发生故障时,自动切换成从第二汇聚点请求接收与备中心节点连接的第二直播源所注册的组播码流,从而解决了现有建设的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差的问题,提高了系统的稳定性和可靠性。
进一步地,基于第一实施例提出本发明播放视频直播容灾方法的第二实施例,参照图3,在本实施例中,在所述机顶盒与第一直播源的连接发生故障为,所述机顶盒接入所述主接入服务器失败时,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流的步骤包括:
步骤S31,所述机顶盒接入所述备接入服务器,并接收所述备接入服务器反馈至所述机顶盒的备中心节点的地址;
步骤S32,根据接收到的地址接入所述备中心节点,并经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
所述机顶盒接入所述主接入服务器失败的原因存在多种。例如,接入所 述主接入服务器的地址链路异常,或者所述主接入服务器出现故障等。在所述机顶盒接入所述主接入服务器失败后,所述机顶盒再次尝试接入所述主接入服务器,在尝试预设次接入失败后,获取备接入服务器的地址,该备接入服务器的地址预先配置在所述机顶盒内,在获取到所述备接入服务器的地址后,通过该地址接入所述备接入服务器。
在接入所述备接入服务器后,所述备接入服务器对所述机顶盒启动应急处理,所述应急处理为:对所述机顶盒预设的用户数据进行分析,所述预设的用户数据为所述机顶盒的应急数据,得到所述机顶盒的用户归属电子节目菜单。所述应急数据为所述备接入服务器最近接收到的主接入服务器每天定时同步到所述备接入服务器的用户相关数据,所述用户相关数据包括用户信息以及频道列表信息。所述备接入服务器在对所述用户应急数据进行分析,得到所述机顶盒的用户归属电子节目菜单后,将所述用户归属电子节目菜单返回给所述机顶盒,所述用户归属电子节目菜单的接入地址即为所述备中心节点的地址。所述机顶盒接入所述用户归属电子节目菜单,即接入所述备中心节点,然后经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流,获取备中心节点连接的第二直播源发送的组播码流的详细过程在第一实施例中已说明,此处不再赘述。
本实施例通过在机顶盒不能接入所述主接入服务器时,自动接入备接入服务器,然后根据所述备接入服务器反馈的备中心节点的地址接入备中心节点获取组播码流,解决了现有的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差的问题,提高了系统的稳定性和可靠性。
本发明进一步提供一种播放视频直播容灾装置,应用于包括主中心节点、备中心节点的视频直播系统中,该视频直播系统还包括与所述主中心节点连接的第一汇聚点以及与所述备中心节点连接的第二汇聚点。
参照图4,图4为本发明播放视频直播容灾装置的第一实施例的功能模块示意图。
在本实施例中,所述播放视频直播容灾装置包括:检测模块10及接收模块20。
所述检测模块10,用于检测与第一直播源的连接是否发生故障;
在本实施例中,机顶盒配置了主接入服务器,即主EPG(Electronic Program Guide,电子节目菜单)服务器的地址及备接入服务器(备EPG服务器)的地址,在主接入服务器的地址链路正常时,机顶盒接入主接入服务器,主接入服务器对机顶盒的用户信息进行鉴权、认证等操作;在主接入服务器的地址链路异常时,机顶盒自动接入备接入服务器,由备接入服务器对机顶盒的用户信息进行鉴权、认证等操作。机顶盒与第一直播源的连接发生故障的情形主要有以下两种。一种是机顶盒在开机后通过主接入服务器登录到IPTV系统时,不能成功登录;另一种是用户在观看视频直播的过程中,提供直播码流的主中心节点发生故障。因此,在检测所述机顶盒与第一直播源的连接是否发生故障时,可以通过检测所述机顶盒是否能接入所述主接入服务器来判断所述机顶盒与所述第一直播源的连接是否发生故障,或者可以通过检测所述机顶盒是否能接收到主中心节点的组播码流来判断所述机顶盒与所述第一直播源的连接是否发生故障。需要说明的是,上述所描述的机顶盒与第一直播源连接发生故障,指的是机顶盒不能获取到第一直播源的码流数据为用户提供直播服务。
所述接收模块20,接收模块,用于若没有发生故障,则经第一汇聚点接收与主中心节点连接的第一直播源发送的组播码流,以及若发生故障,则经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
RP(Rendezvous Point,汇聚点),在SM(Sparse Mode,稀疏模式)中作为组播的汇聚点,发送者和接收者在RP处进行汇聚,所有的组播数据需要在RP上注册,然后所有需要组播数据的接收者通过向RP发送JOIN报文来请求数据。具体的,参照图2,在视频直播过程中,第一直播源通过SW(switch,交换机)将组播码流引入所述主中心节点,所述主中心节点将接收到的组播码流组播到第一汇聚点进行注册;第二直播源通过另一交换机将组播码流引入所述备中心节点,所述备中心节点将接收到的组播码流组播到第二汇聚点进行注册。在所述机顶盒与所述第一直播源正常连接时,当机顶盒需要接收组播码流,机顶盒加入所述第一汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第一汇聚点的组播域中,预先配置机顶盒到所述第一汇聚点的cost小于到所述第二汇聚点的cost,即所述机顶盒到所述第一汇聚点的组播路径优于所述机顶盒到所述第二汇聚点的组播路径,因此,所述 机顶盒向所述第一汇聚点发送JOIN报文来请求组播数据,从而经第一汇聚点接收到与主中心节点连接的第一直播源发送的组播码流。
在本实施例中,所述故障包括两种,一种是所述机顶盒接入主接入服务器失败,一种是机顶盒经所述第一汇聚点获取组播码流失败。因此,所述机顶盒经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流也包括两种情景。一种当机顶盒需要接收组播码流时,所述机顶盒加入所述第二汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第二汇聚点的组播域中,预先配置机顶盒到所述第二汇聚点的cost小于到所述第一汇聚点的cost,即所述机顶盒到所述第二汇聚点的组播路径优于所述机顶盒到所述第一汇聚点的组播路径,因此,所述机顶盒向所述第二汇聚点发送JOIN报文来请求组播数据,从而经第二汇聚点接收到与主中心节点连接的第一直播源发送的组播码流,上述获取组播码流的方法对应所述机顶盒接入主接入服务器失败的容灾场景;另一种是当机顶盒需要接收组播码流时,所述机顶盒加入所述第一汇聚点的组播域中,并向组播路径最优的汇聚点请求组播数据。在所述第一汇聚点的组播域中,所述第一汇聚点的cost小于到所述第二汇聚点的cost,即所述机顶盒到所述第一汇聚点的组播路径优于所述机顶盒到所述第二汇聚点的组播路径,而由于所述主中心节点或者所述第一汇聚点的链路出现故障,导致所述机顶盒经所述第一汇聚点获取组播码流失败,而所述第一汇聚点的组播码流与所述第二汇聚点的组播码流预先配置码流共享,即所述第一汇聚点通过码流共享也能获取到所述第二汇聚点的组播码流,所述第二汇聚点通过码流共享也能获取到所述第一汇聚点的组播码流。所述第一汇聚点与所述第二汇聚点的组播码流可以通过anycastRP的配置方式实现码流共享。因此,所述机顶盒向所述第一汇聚点发送JOIN报文来请求组播数据后,获取到经共享的与备中心节点连接的第二直播源发送的组播码流,上述获取组播码流的方法对应经所述第一汇聚点获取组播码流失败的容灾场景。
本实施例通过机顶盒检测与第一直播源的连接是否发生故障,从而确定是从主中心节点还是备中心节点获取组播码流,并在确定与第一直播源的连接发生故障时,自动切换成从第二汇聚点请求接收与备中心节点连接的第二直播源所注册的组播码流,从而解决了现有建设的容灾系统不能在系统异常 时进行自动切换,导致系统的稳定性和可靠性差的问题,提高了系统的稳定性和可靠性。
进一步地,基于第一实施例提出本发明播放视频直播容灾装置的第二实施例,参照图5,在本实施例中,所述接收模块20包括接入单元21、接收单元22及获取单元23。
所述接入单元21,用于接入所述备接入服务器;
所述接收单元22,用于接收所述备接入服务器反馈至所述机顶盒的备中心节点的地址;
所述获取单元23,用于根据接收到的地址接入所述备中心节点,并经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流。
所述机顶盒接入所述主接入服务器失败的原因存在多种。例如,接入所述主接入服务器的地址链路异常,或者所述主接入服务器出现故障等。在所述机顶盒接入所述主接入服务器失败后,所述机顶盒再次尝试接入所述主接入服务器,在尝试预设次接入失败后,获取备接入服务器的地址,该备接入服务器的地址预先配置在所述机顶盒内,在获取到所述备接入服务器的地址后,通过该地址接入所述备接入服务器。
在接入所述备接入服务器后,所述备接入服务器对所述机顶盒启动应急处理,所述应急处理为:对所述机顶盒预设的用户数据进行分析,所述预设的用户数据为所述机顶盒的应急数据,得到所述机顶盒的用户归属电子节目菜单。所述应急数据为所述备接入服务器最近接收到的主接入服务器每天定时同步到所述备接入服务器的用户相关数据,所述用户相关数据包括用户信息以及频道列表信息。所述备接入服务器在对所述用户应急数据进行分析,得到所述机顶盒的用户归属电子节目菜单后,将所述用户归属电子节目菜单返回给所述机顶盒,所述用户归属电子节目菜单的接入地址即为所述备中心节点的地址。所述机顶盒接入所述用户归属电子节目菜单,即接入所述备中心节点,然后经第二汇聚点接收与备中心节点连接的第二直播源发送的组播码流,获取备中心节点连接的第二直播源发送的组播码流的详细过程在第一实施例中已说明,此处不再赘述。
本实施例通过在机顶盒不能接入所述主接入服务器时,自动接入备接入 服务器,然后根据所述备接入服务器反馈的备中心节点的地址接入备中心节点获取组播码流,解决了现有的容灾系统不能在系统异常时进行自动切换,导致系统的稳定性和可靠性差的问题,提高了系统的稳定性和可靠性。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。