播放視頻直播容災方法及裝置與流程
2023-12-06 03:07:31 1

本發明涉及網際網路技術領域,尤其涉及一種播放視頻直播容災方法及裝置。
背景技術:
在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、磁碟、光碟)中,包括若干指令用以使得一臺終端設備(可以是手機,計算機,伺服器,空調器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上僅為本發明的優選實施例,並非因此限制本發明的專利範圍,凡是利用本發明說明書及附圖內容所作的等效結構或等效流程變換,或直接或間接運用在其他相關的技術領域,均同理包括在本發明的專利保護範圍內。