午夜毛片免费看,老师老少妇黄色网站,久久本道综合久久伊人,伊人黄片子

一種流媒體播放質(zhì)量的預(yù)測方法與流程

文檔序號:11147691閱讀:716來源:國知局
一種流媒體播放質(zhì)量的預(yù)測方法與制造工藝

本發(fā)明涉及流媒體點播直播技術(shù)領(lǐng)域,特別是一種流媒體播放質(zhì)量的預(yù)測方法。



背景技術(shù):

隨著中國網(wǎng)絡(luò)數(shù)字電視和視頻直播點播產(chǎn)業(yè)的飛快發(fā)展,基于有線網(wǎng)絡(luò)的數(shù)字電視用戶規(guī)模在近幾年持續(xù)增長,網(wǎng)絡(luò)帶寬的增長也促進了高清網(wǎng)絡(luò)電視的發(fā)展,數(shù)字高清電視和可交互網(wǎng)絡(luò)電視等業(yè)務(wù)的覆蓋面也越來越廣。由于用戶的快速增長和播放媒體的碼率的提升,給媒體服務(wù)器和傳輸網(wǎng)絡(luò)都帶來相當大的挑戰(zhàn)。

由于互聯(lián)網(wǎng)流媒體播放技術(shù)的復(fù)雜性,需要服務(wù)器端、傳輸網(wǎng)絡(luò)和客戶端共同合作完成流媒體的播放功能,任何一方出現(xiàn)問題都會影響播放質(zhì)量。播放質(zhì)量最直觀的表現(xiàn)就是是否發(fā)生卡頓,而卡頓發(fā)生對于用戶觀看體驗有極大的影響,容易導(dǎo)致用戶的流失。故對于流媒體播放質(zhì)量的檢測和預(yù)測,對服務(wù)提供商有極大的參考價值,有利于服務(wù)提供商及時調(diào)整優(yōu)化服務(wù),提升用戶體驗。

目前對流媒體播放質(zhì)量檢測的主要方法是在終端中集成軟探針軟件,一類軟探針是集成在播放器中,對播放器的工作狀態(tài)進行檢測從而得出播放質(zhì)量;另一類軟探針是工作于系統(tǒng)底層,通過分析網(wǎng)絡(luò)數(shù)據(jù)包來評判網(wǎng)絡(luò)質(zhì)量,從而推斷播放質(zhì)量。這兩種技術(shù)能部分判斷播放質(zhì)量,但缺乏自學(xué)習(xí)的能力,不能根據(jù)終端自身情況進行自適應(yīng)的改變,同時缺乏對播放質(zhì)量預(yù)測的能力,只能在故障發(fā)生后提供數(shù)據(jù),不具備故障的前瞻性。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于提供一種工作于系統(tǒng)底層,能實時判斷流媒體播放質(zhì)量并對未來一段時間的播放質(zhì)量進行預(yù)測的方法。

實現(xiàn)本發(fā)明目的的技術(shù)解決方案為:一種流媒體播放質(zhì)量的預(yù)測方法,包括以下步驟:

步驟1,使用網(wǎng)絡(luò)監(jiān)聽技術(shù)收集和本機系統(tǒng)相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)包,通過IP地址、端口過濾技術(shù)保留流媒體播放相關(guān)的數(shù)據(jù)包;

步驟2,根據(jù)相應(yīng)協(xié)議重新構(gòu)建協(xié)議棧,獲取該協(xié)議棧中傳輸?shù)拿襟w數(shù)據(jù)和網(wǎng)絡(luò)性能數(shù)據(jù),并記錄主機的性能數(shù)據(jù);

步驟3,解碼媒體數(shù)據(jù),結(jié)合系統(tǒng)時間綜合判斷當前播放質(zhì)量,結(jié)合上一階段的網(wǎng)絡(luò)和主機性能數(shù)據(jù)訓(xùn)練機器學(xué)習(xí)模型;

步驟4,使用機器學(xué)習(xí)模型,通過當前網(wǎng)絡(luò)和主機性能數(shù)據(jù),預(yù)測下一階段時間的流媒體播放質(zhì)量。

進一步地,步驟1中所述通過IP地址、端口過濾技術(shù)保留流媒體播放相關(guān)的數(shù)據(jù)包,具體為:

使用電子節(jié)目指南服務(wù)器、調(diào)度服務(wù)器和內(nèi)容分發(fā)網(wǎng)絡(luò)服務(wù)器的IP地址和端口對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾,僅保留流媒體播放相關(guān)的數(shù)據(jù)包。

進一步地,步驟2所述根據(jù)相應(yīng)協(xié)議重新構(gòu)建協(xié)議棧,獲取該協(xié)議棧中傳輸?shù)拿襟w數(shù)據(jù)和網(wǎng)絡(luò)性能數(shù)據(jù),并記錄主機的性能數(shù)據(jù),具體如下:

A)針對傳輸層是TCP協(xié)議的,使用對幀技術(shù),獲取TCP中傳輸?shù)牧鲾?shù)據(jù),同時記錄時延、亂序率、丟包率、低窗口率;

B)針對應(yīng)用層是HTTP協(xié)議的,對包頭進行重新構(gòu)建,獲取請求信息和響應(yīng)信息,同時記錄各階段時延;

C)針對應(yīng)用層是HLS協(xié)議的,記錄媒體碼率;

D)針對傳輸層是UDP組播協(xié)議的,記錄組播控制信息和媒體數(shù)據(jù),同時記錄網(wǎng)絡(luò)時延、抖動;

E)記錄播放流媒體時的CPU使用率、內(nèi)存占用率和IO性能。

進一步地,步驟3中所述的解碼媒體數(shù)據(jù),結(jié)合系統(tǒng)時間綜合判斷當前播放質(zhì)量,包括以下步驟:

步驟3.1.1,根據(jù)已下載的媒體片段,快速解碼獲取片段時長;

步驟3.1.2,通過媒體片段下載時間和媒體時長求出目前還可以播放的時長;

步驟3.1.3,通過積累的可播放時長和系統(tǒng)流逝的時間,判斷當前流媒體播放質(zhì)量,并根據(jù)緩存時長進行播放質(zhì)量評級。

進一步地,步驟3中所述的結(jié)合上一階段的網(wǎng)絡(luò)和主機性能數(shù)據(jù)訓(xùn)練機器學(xué)習(xí)模型,步驟如下:

步驟3.2.1,選擇網(wǎng)絡(luò)性能數(shù)據(jù)中能夠體現(xiàn)網(wǎng)絡(luò)狀態(tài)的參數(shù),加上反映主機工作狀態(tài)的性能數(shù)據(jù)參數(shù),進行預(yù)處理和數(shù)據(jù)融合,最后得到特征向量;

步驟3.2.2,將當前狀態(tài)10秒前的由步驟3.2.1中得出的特征向量作為輸入,將當前流媒體播放質(zhì)量評級作為輸出,訓(xùn)練具有分類功能的機器學(xué)習(xí)模型。

進一步地,步驟4中所述的使用機器學(xué)習(xí)模型,通過當前網(wǎng)絡(luò)和主機性能數(shù)據(jù),預(yù)測下一階段時間的流媒體播放質(zhì)量,具體為:

將當前狀態(tài)的由步驟3.2.1得出的特征向量作為輸入,機器學(xué)習(xí)模型的輸出作為10秒后流媒體播放質(zhì)量的預(yù)測。

本發(fā)明與現(xiàn)有技術(shù)相比,其顯著優(yōu)點為:(1)通過歷史數(shù)據(jù)預(yù)測未來的播放質(zhì)量,能及時通知服務(wù)提供商,特殊情況下能在故障發(fā)生之前發(fā)現(xiàn)故障、排除故障或采取針對性措施,提升服務(wù)質(zhì)量;(2)由于流媒體播放終端的網(wǎng)絡(luò)環(huán)境和主機環(huán)境各不相同,使用機器學(xué)習(xí)算法能使預(yù)測功能在各種工作環(huán)境下都能自動適應(yīng);(3)具有實時性,能在占用少量CPU時間和內(nèi)存的前提下,判斷當前流媒體的播放質(zhì)量,并學(xué)習(xí)分析采集的數(shù)據(jù)和流媒體播放質(zhì)量之間的潛在聯(lián)系,機器學(xué)習(xí)算法能不斷自動調(diào)優(yōu),使預(yù)測準確性不斷提升。

附圖說明

圖1是本發(fā)明中流媒體播放質(zhì)量預(yù)測的機器學(xué)習(xí)模型訓(xùn)練流程圖。

圖2是本發(fā)明中機器學(xué)習(xí)模型預(yù)測流媒體播放質(zhì)量的流程圖。

圖3是本發(fā)明的整體系統(tǒng)數(shù)據(jù)流圖。

具體實施方法

下面對本發(fā)明方案進行詳細說明。

本發(fā)明在對流媒體播放質(zhì)量進行預(yù)測的時候,主要分為兩個部分,第一個部分是利用歷史數(shù)據(jù)對預(yù)測模型進行訓(xùn)練,第二部分是用當前性能數(shù)據(jù)輸入預(yù)測模型并對未來播放質(zhì)量進行預(yù)測。

本發(fā)明流媒體播放質(zhì)量的預(yù)測方法,包括以下步驟:

步驟1,使用網(wǎng)絡(luò)監(jiān)聽技術(shù)收集所有和本機系統(tǒng)相關(guān)的網(wǎng)絡(luò)數(shù)據(jù)包,并通過網(wǎng)絡(luò)協(xié)議(Internet Protocol,IP)地址、端口過濾技術(shù)保留流媒體播放相關(guān)的數(shù)據(jù)包。

所述通過IP地址、端口過濾技術(shù)保留流媒體播放相關(guān)的數(shù)據(jù)包,具體為:

使用具體的電子節(jié)目指南(Electronic Program Guide,EPG)服務(wù)器、調(diào)度服務(wù)器和內(nèi)容分發(fā)網(wǎng)絡(luò)(Content Delivery Network,CDN)服務(wù)器的IP地址和端口對網(wǎng)絡(luò)數(shù)據(jù)包進行過濾,僅保留流媒體播放相關(guān)的數(shù)據(jù)包,減少后續(xù)流程的數(shù)據(jù)量,提升了性能。

步驟2,根據(jù)相應(yīng)協(xié)議重新構(gòu)建協(xié)議棧,獲取該協(xié)議棧中傳輸?shù)拿襟w數(shù)據(jù)和網(wǎng)絡(luò)性能數(shù)據(jù),并記錄主機的性能數(shù)據(jù)。

所述根據(jù)相應(yīng)協(xié)議重新構(gòu)建協(xié)議棧,獲取該協(xié)議棧中傳輸?shù)拿襟w數(shù)據(jù)和網(wǎng)絡(luò)性能數(shù)據(jù),并記錄主機的性能數(shù)據(jù),具體如下:

A)針對傳輸層是傳輸控制協(xié)議(Transmission Control Protocol,TCP)的,使用TCP對幀技術(shù),將亂序到達的TCP數(shù)據(jù)包以包序號排序,將排序完成的數(shù)據(jù)包中的負載數(shù)據(jù)連接,最后獲取TCP中傳輸?shù)牧鲾?shù)據(jù),同時記錄包時延、亂序率、丟包率、低窗口率等性能參數(shù)。

B)針對應(yīng)用層是超文本傳送協(xié)議(HyperText Transfer Protocol,HTTP)的,對請求和響應(yīng)包頭進行重組,獲取請求信息和響應(yīng)信息,同時記錄各階段時延。

C)針對應(yīng)用層是HTTP流直播(HTTP Live Streaming,HLS)協(xié)議的,通過分析請求響應(yīng)包,獲取媒體碼率等相關(guān)信息。

D)針對傳輸層是用戶數(shù)據(jù)報協(xié)議(User Datagram Protocol,UDP)組播協(xié)議的,記錄因特網(wǎng)組管理協(xié)議(Internet Group Management Protocol,IGMP)控制信息和媒體數(shù)據(jù),同時記錄網(wǎng)絡(luò)時延、抖動、包間隔等性能數(shù)據(jù)。

E)記錄播放流媒體時的中央處理器(Central Processing Unit,CPU)使用率、內(nèi)存占用率和輸入輸出(Input/Output,IO)性能等主機性能數(shù)據(jù)。

步驟3,解碼媒體數(shù)據(jù),結(jié)合系統(tǒng)時間綜合判斷當前播放質(zhì)量,結(jié)合上一階段的網(wǎng)絡(luò)和主機性能數(shù)據(jù)訓(xùn)練機器學(xué)習(xí)模型。

所述的解碼媒體數(shù)據(jù),結(jié)合系統(tǒng)時間綜合判斷當前播放質(zhì)量,包括以下步驟:

步驟3.1.1,根據(jù)已下載的媒體片段,快速解碼獲取片段時長。

步驟3.1.2,通過媒體片段下載時間和媒體時長求出目前還可以播放的時長。

步驟3.1.3,通過積累的可播放時長和系統(tǒng)流逝的時間判斷當前播放是否發(fā)生卡頓,即當前流媒體播放質(zhì)量,并根據(jù)緩存時長等參數(shù)進行播放質(zhì)量評級。

所述的結(jié)合上一階段的網(wǎng)絡(luò)和主機性能數(shù)據(jù)訓(xùn)練機器學(xué)習(xí)模型,步驟如下:

步驟3.2.1,選擇網(wǎng)絡(luò)性能數(shù)據(jù)中能夠體現(xiàn)網(wǎng)絡(luò)狀態(tài)的參數(shù),加上反映主機工作狀態(tài)的性能數(shù)據(jù)參數(shù),并對部分參數(shù)進行預(yù)處理和數(shù)據(jù)融合,最后得到特征向量;

步驟3.2.2,將當前狀態(tài)10秒前的由步驟3.2.1中得出的特征向量作為輸入,將當前流媒體播放質(zhì)量評級作為輸出,訓(xùn)練具有分類功能的機器學(xué)習(xí)模型。

步驟4,使用機器學(xué)習(xí)模型,通過當前網(wǎng)絡(luò)和主機性能數(shù)據(jù),預(yù)測下一階段時間的流媒體播放質(zhì)量,具體為:

將當前狀態(tài)的由步驟3.2.1得出的特征向量作為輸入,機器學(xué)習(xí)模型的輸出作為10秒后流媒體播放質(zhì)量的預(yù)測。

該方法能夠在不更改播放器和系統(tǒng)的情況下,對當前流媒體播放質(zhì)量進行準確判斷,并通過機器學(xué)習(xí)算法對一段時間后的播放質(zhì)量進行預(yù)測。本方法穩(wěn)定高效,能通過不斷在線學(xué)習(xí),針對網(wǎng)絡(luò)和主機環(huán)境不斷優(yōu)化,使預(yù)測準確度不斷提高,對于服務(wù)方提高流媒體播放質(zhì)量有重要的參考意義。

下面將通過具體的實施例來說明本發(fā)明的具體實施方法。

實施例1

本發(fā)明中利用歷史數(shù)據(jù)對機器學(xué)習(xí)模型的訓(xùn)練的流程圖如圖1所示。具體過程分為以下步驟:

步驟1,創(chuàng)建原始套接字在鏈路層進行旁路監(jiān)聽。服務(wù)提供商的流媒體服務(wù)器地址和協(xié)議在短時間內(nèi)不會發(fā)生變化,故可以通過下載配置文件的方法,獲取所有和流媒體播放相關(guān)的服務(wù)器地址和端口等信息(包括EPG服務(wù)器、調(diào)度服務(wù)器和CDN服務(wù)器的IP地址及其域名規(guī)則等),進而選擇預(yù)編譯的BPF過濾器并將其直接載入內(nèi)核。

步驟2,根據(jù)數(shù)據(jù)包所屬的協(xié)議類型,對上層協(xié)議進行還原,并取得其中的數(shù)據(jù)內(nèi)容以供后續(xù)分析,同時記錄網(wǎng)絡(luò)性能數(shù)據(jù)。本發(fā)明需要處理的協(xié)議主要有以下幾種:1)TCP協(xié)議數(shù)據(jù)包,讀取包頭標志位,獲取當前TCP流的狀態(tài),當遇到TCP握手包,則初始化一個狀態(tài)機和緩沖內(nèi)存用于記錄該TCP流的工作狀況和傳輸?shù)臄?shù)據(jù),同時讀取包頭的源IP地址、源端口、目標IP地址、目標端口、順序號(Sequence number)、確認號(Acknowledgement number)和窗口(Window)等協(xié)議信息和數(shù)據(jù)包到達的絕對時間,記錄在結(jié)構(gòu)體中,用于后續(xù)性能數(shù)據(jù)計算;當遇到其他TCP包,根據(jù)源IP地址、源端口、目標IP地址和目標端口查找已有的TCP流,如果找到則根據(jù)包頭標志位、順序號和應(yīng)答號更新狀態(tài)機狀態(tài),在傳輸數(shù)據(jù)時把數(shù)據(jù)按順序號進行排序并記錄到緩沖中,并根據(jù)數(shù)據(jù)包到達時間、包頭信息和傳輸數(shù)據(jù)量,計算上行速率、下行速率、各階段包時延、最大包間隔、最大抖動、丟包率、亂序率、低窗口率等TCP協(xié)議相關(guān)的性能數(shù)據(jù),如果沒找到所屬的TCP流則丟棄該數(shù)據(jù)包。2)IGMP協(xié)議數(shù)據(jù)包,直接對包進行解析,獲取當前加入或退出的組播組信息,維護一個當前所屬組播組的集合。3)UDP數(shù)據(jù)包,根據(jù)所屬組播組的集合過濾出有效組播數(shù)據(jù)包,提取包中的流媒體信息,以供后續(xù)分析。4)HTTP協(xié)議數(shù)據(jù),該數(shù)據(jù)是在TCP流傳輸?shù)臄?shù)據(jù)中獲取的,通過HTTP協(xié)議本身的結(jié)束標記判斷請求或響應(yīng)是否完整,根據(jù)請求地址或響應(yīng)信息中的數(shù)據(jù)類型判斷是否為流媒體數(shù)據(jù),如果是則在數(shù)據(jù)傳輸過程中提取各種中間信息,以供后續(xù)分析;如果不是,則刪除該TCP流的所有記錄,減輕TCP協(xié)議分析壓力。5)HLS協(xié)議數(shù)據(jù),該數(shù)據(jù)是在HTTP協(xié)議傳輸?shù)臄?shù)據(jù)中提取的,主要獲取流媒體碼率和媒體長度等信息。在統(tǒng)計網(wǎng)絡(luò)性能數(shù)據(jù)時,以一定時間間隔調(diào)用系統(tǒng)工具計算當前CPU使用率、內(nèi)存使用率和IO速率,并記錄。

步驟3,通過之前協(xié)議中獲取的媒體數(shù)據(jù),快速解碼流媒體數(shù)據(jù)求出當前下載的媒體可播放時長,減去當前時間和下載開始時間的差,即為目前可播放時長,并對可播放時長做求和操作,即為總可播放時長。若時長大于5秒,則認為當前播放質(zhì)量好;若時長處于2-5秒,則認為當前播放質(zhì)量中等;若小于2秒,則認為當前播放質(zhì)量差;若小于0秒,則認為當前播放質(zhì)量極差(已有卡頓產(chǎn)生)。對于播放質(zhì)量差及卡頓的情況,上報監(jiān)控服務(wù)器本次故障發(fā)生的信息。

步驟4,提取能夠主要反映當前環(huán)境狀況的性能數(shù)據(jù),例如,網(wǎng)絡(luò)層面的最大包延遲、丟包率、亂序率、低窗口率、最大抖動、上行速率和下行速率等;協(xié)議層面的RTP序列丟失、HTTP返回錯誤碼、HLS協(xié)議不完整、HLS序列丟失等;媒體層面的媒體分辨率、媒體平均碼率、媒體類型等;直觀反映主機工作情況的主機性能數(shù)據(jù),例如,CPU使用率、內(nèi)存使用率和IO速率等。將這些數(shù)據(jù)合并為一個一維向量,做歸一化處理后,存入循環(huán)隊列中。

步驟5,取出循環(huán)隊列中10秒前記錄的性能數(shù)據(jù)向量,和當前的流媒體播放質(zhì)量作為輸入和輸出,訓(xùn)練Softmax分類器,使用在線更新的方式更新權(quán)重。

本發(fā)明中利用現(xiàn)在性能數(shù)據(jù)對未來一段時間的流媒體播放質(zhì)量進行預(yù)測的流程圖如圖2所示。

具體過程是:讀取循環(huán)隊列中現(xiàn)在的性能數(shù)據(jù)向量,輸入之前訓(xùn)練的Softmax分類器中,取Softmax分類器的輸出作為10秒后的流媒體播放質(zhì)量預(yù)測結(jié)果。如果預(yù)測未來的播放質(zhì)量會變差,則觸發(fā)播放器內(nèi)部機制,增加緩沖長度或其他主動策略避免卡頓的發(fā)生。

綜上所述,本發(fā)明利用終端設(shè)備所在的網(wǎng)絡(luò)環(huán)境和本機性能的歷史數(shù)據(jù)作為訓(xùn)練數(shù)據(jù),用現(xiàn)在的性能數(shù)據(jù)預(yù)測一段時間后的流媒體播放質(zhì)量,整體數(shù)據(jù)流圖如圖3所示。本發(fā)明不僅僅提供當前播放質(zhì)量的準確判斷,更能對未來進行預(yù)測,這對于提升服務(wù)質(zhì)量和用戶體驗有極大的作用;其次本發(fā)明充分考慮每臺設(shè)備的獨特性,方法具有普適性,且能隨著工作時間的增長不斷自我優(yōu)化;并且本發(fā)明方法簡單高效,易于實現(xiàn)。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1