本申請涉及計算機,尤其涉及一種頻道切換方法、系統、裝置、電子設備及計算機可讀存儲介質。
背景技術:
1、在互聯網協議電視(internet?protocol?television,iptv)場景中,廣泛使用基于實時傳輸(real-time?transport?protocol,rtp)協議的組播方式向用戶提供直播服務。用戶在加入組播組時,由于無法確定正好處于直播流的起始幀位置,播放器會出現卡頓情況,使得直播的頻道切換較慢。
2、相關技術中,用戶在加入直播頻道的組播之前,可以先向快速頻道切換(fastchannel?change,fcc)系統請求單播流,fcc系統以倍速從最新的起始幀向用戶以rtp協議傳輸視頻流,直至與直播流同步,從而提高直播的頻道切換速度。
3、但相關技術中,目前的fcc系統需要通過內核實時接收、解析上百路的直播源流,并向大量用戶提供倍速單播推流服務,使得用戶態數據和內核態數據切換頻繁,導致系統資源占用高,性能瓶頸明顯。
4、申請內容
5、本申請實施例提供一種頻道切換方法、系統、裝置、電子設備及計算機可讀存儲介質,可以降低頻道切換時對系統資源的占用率,提升頻道切換系統的性能。
6、第一方面,本申請提供了一種頻道切換方法,所述方法包括:
7、在當前進程進入服務狀態的情況下,獲取目標頻道切換請求;當前進程在用戶態運行;
8、對目標頻道切換請求進行解析,得到目標頻道信息;目標頻道信息包括目標頻道切換請求對應的應用層信息和協議層信息;
9、根據應用層信息,按照預設周期讀取目標頻道對應的視頻數據;
10、根據協議層信息向客戶端推送視頻數據,以將當前頻道切換為目標頻道。
11、第二方面,本申請提供了一種頻道切換裝置,所述裝置包括:獲取模塊、解析模塊、讀取模塊和推送模塊。
12、獲取模塊,用于在當前進程進入服務狀態的情況下,獲取目標頻道切換請求;當前進程在用戶態運行;
13、解析模塊,用于對目標頻道切換請求進行解析,得到目標頻道信息;目標頻道信息包括目標頻道切換請求對應的應用層信息和協議層信息;
14、讀取模塊,用于根據應用層信息,按照預設周期讀取目標頻道對應的視頻數據;
15、推送模塊,用于根據協議層信息向客戶端推送視頻數據,以將當前頻道切換為目標頻道。
16、第三方面,本申請提供了一種電子設備,所述電子設備包括有存儲器,以及一個或者一個以上的程序,其中一個或者一個以上程序存儲于存儲器中,且經配置以由一個或者一個以上處理器執行如前述的頻道切換方法。
17、第四方面,本申請提供了一種計算機可讀存儲介質,當所述存儲介質中的指令由電子設備的處理器執行時,使得電子設備能夠執行如前述的頻道切換方法。
18、本申請實施例包括以下優點:
19、本申請實施例在當前進程進入服務狀態的情況下,獲取目標頻道切換請求;并限定當前進程在用戶態運行,權限受限,即使后續處理異常也僅影響當前進程,不會導致內核崩潰或其他進程服務中斷,同時當前進程在用戶態運行可以繞開內核協議棧,后續接收請求無需數據拷貝和上下文切換,為低延遲奠定了基礎;隨后對目標頻道切換請求進行解析,得到目標頻道信息;目標頻道信息包括目標頻道切換請求對應的應用層信息和協議層信息;可以實現全協議層信息解析,獲取業務需求及傳輸參數,為后續頻道切換提供數據支撐;最后根據應用層信息,按照預設周期讀取目標頻道對應的視頻數據;根據協議層信息向客戶端推送視頻數據,以將當前頻道切換為目標頻道,可以在用戶態實現頻道切換的處理流程,按預設周期讀取數據既保證直播流連續性,又不頻繁讀取導致中央處理器(centralprocessing?unit,cpu)過載,同時用戶態封裝可以防止使用大量系統調用,避免通過內核協議棧進行用戶態與內核態的上下文切換與數據拷貝,從而降低推送數據的延遲,大幅降低系統的cpu等資源占用,提升頻道切換系統的整體性能。
技術實現思路
1.一種頻道切換方法,其特征在于,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述應用層信息包括目標頻道標識和視頻數據播放參數,所述根據所述應用層信息,按照預設周期讀取目標頻道對應的視頻數據,包括:
3.根據權利要求1所述的方法,其特征在于,所述協議層信息包括網絡層信息和傳輸層信息,所述根據所述協議層信息向客戶端推送所述視頻數據,以將當前頻道切換為所述目標頻道,包括:
4.根據權利要求3所述的方法,其特征在于,所述對所述網絡層信息和所述傳輸層信息進行哈希計算,得到哈希計算結果,包括:
5.根據權利要求1所述的方法,其特征在于,所述在當前進程進入服務狀態的情況下,獲取目標頻道切換請求,包括:
6.根據權利要求1所述的方法,所述在當前進程進入服務狀態的情況下,獲取目標頻道切換請求,包括:
7.一種頻道切換系統,其特征在于,所述系統包括:客戶端、網卡隊列、擴展型伯克利數據包過濾器程序以及快速頻道切換子系統;
8.一種頻道切換裝置,其特征在于,所述裝置包括:
9.一種電子設備,其特征在于,包括:處理器;
10.一種計算機可讀存儲介質,其特征在于,當所述計算機可讀存儲介質中的指令由電子設備的處理器執行時,使得所述電子設備能夠執行如權利要求1至6中任一項所述的方法。