本發(fā)明涉及網(wǎng)站的服務(wù)性能預(yù)測領(lǐng)域,特別涉及一種融合多信息源的視頻網(wǎng)站服務(wù)性能預(yù)測方法,屬于網(wǎng)絡(luò)服務(wù)性能預(yù)測領(lǐng)域。
背景技術(shù):
針對一個視頻內(nèi)容,網(wǎng)絡(luò)中有很多視頻網(wǎng)站可以提供服務(wù)。因為視頻網(wǎng)站是通過動態(tài)的互聯(lián)網(wǎng)提供服務(wù),因此視頻網(wǎng)站的服務(wù)性能不能很好地保持穩(wěn)定,會隨著網(wǎng)絡(luò)環(huán)境、服務(wù)器負(fù)載等因素的變化而變化,從而出現(xiàn)周期性、短暫性的服務(wù)性能變化的情況。為此,對歷史數(shù)據(jù)的分析來準(zhǔn)確地預(yù)測未來一段時間內(nèi)視頻網(wǎng)站的服務(wù)性能,是選擇并使用滿足用戶需求的視頻源的關(guān)鍵問題,有重要意義。
目前現(xiàn)有的視頻網(wǎng)站服務(wù)性能的預(yù)測方法的主要思路為:(1)收集某一服務(wù)性能指標(biāo)在一段時間內(nèi)的數(shù)據(jù)作為歷史數(shù)據(jù);(2)選擇某種模型,使用單一性能指標(biāo)的數(shù)據(jù)進行模型訓(xùn)練和性能預(yù)測。
現(xiàn)有的方法存在的問題即使用單一指標(biāo)的數(shù)據(jù)進行預(yù)測,不考慮其他信息源的數(shù)據(jù),在網(wǎng)絡(luò)情況出現(xiàn)較大波動時,對網(wǎng)站性能的預(yù)測會出現(xiàn)較大偏差。因此為改善預(yù)測的性能,增加預(yù)測模型在網(wǎng)絡(luò)性能短時間波動較大的情況下的預(yù)測穩(wěn)定性,亟待加入其他信息源的數(shù)據(jù),提高服務(wù)性能預(yù)測的準(zhǔn)確度。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于,為克服上述技術(shù)缺陷,進而使對視頻網(wǎng)站未來時刻的服務(wù)性能預(yù)測所需時間可接受的范圍內(nèi),本發(fā)明技術(shù)方案將多個信息源的信息進行融合,進而提高預(yù)測模型對視頻網(wǎng)站的服務(wù)性能預(yù)測的精度。同時,本發(fā)明的技術(shù)方案能夠增強預(yù)測模型在網(wǎng)絡(luò)情況劇烈變化的情況下的預(yù)測準(zhǔn)確性的穩(wěn)定性。
為了實現(xiàn)上述目的,本發(fā)明實施例公開了如下技術(shù)方案:
第一方面,提供一種視頻網(wǎng)站的服務(wù)性能預(yù)測方法,所述方法包含:
步驟101)通過模擬用戶請求,定時測量視頻網(wǎng)站性能參數(shù),計算性能參數(shù)之間的相關(guān)系數(shù);
如果相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值時,將所有性能參數(shù)的值存入對應(yīng)網(wǎng)站的 性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集;
其中,所述性能參數(shù)包含:連接時間和下載速率;
步驟102)對預(yù)測數(shù)據(jù)集進行參數(shù)無量綱化和歸一化預(yù)處理,基于預(yù)處理后得到的數(shù)據(jù)和時間序列模型或機器學(xué)習(xí)模型預(yù)測下一時刻的視頻網(wǎng)站的服務(wù)性能;
其中,對時間序列模型或機器學(xué)習(xí)模型輸出的歸一化預(yù)測結(jié)果進行反歸一化即得到用戶在下一時刻訪問視頻網(wǎng)站可獲得的真實的服務(wù)性能預(yù)測值。
結(jié)合上述第一方面,在第一種可能的實現(xiàn)方式中,上述步驟101)通過在節(jié)點上設(shè)定地址列表并模擬用戶行為,定時向地址列表中的視頻網(wǎng)站發(fā)送請求,測量視頻網(wǎng)站的連接時間和下載速率。
結(jié)合上述第一方面,和/或第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中,采用皮爾遜相關(guān)系數(shù)計算性能參數(shù)之間的相關(guān)系數(shù)。
結(jié)合上述第一方面,和/或第一種可能的實現(xiàn)方式中,在第三種可能的實現(xiàn)方式中,采用線性函數(shù)歸一化對預(yù)測數(shù)據(jù)集進行歸一化處理。
結(jié)合上述第一方面,和第三種可能的實現(xiàn)方式中,在第四中可能的實現(xiàn)方式中,上述反歸一化方法即線性歸一化方法的反歸一化。
結(jié)合第一方面,和/或第一種可能的實現(xiàn)方式中,在第五中可能的實現(xiàn)方式中,上述時間序列模型為指數(shù)平滑模型;或上述機器學(xué)習(xí)的模型采用線性回歸或徑向基網(wǎng)絡(luò)模型。
結(jié)合第一方面,和/或第一種可能的實現(xiàn)方式中,在第五中可能的實現(xiàn)方式中,上述步驟102)進一步包含:
步驟102-1)使用測量發(fā)生的時間將收集的預(yù)測數(shù)據(jù)集分為兩部分:訓(xùn)練集和測試集;
步驟102-2)使用訓(xùn)練集的數(shù)據(jù)訓(xùn)練預(yù)測模型,將測試集數(shù)據(jù)帶入模型公式,以預(yù)測值和真實值的最小最方誤差為標(biāo)準(zhǔn),不斷調(diào)整模型參數(shù)并利用梯度下降算法求得模型參數(shù)的最優(yōu)數(shù)值;
步驟102-3)利用步驟102-2)中得到的模型參數(shù)的取值,得到完整預(yù)測模型,將測試集中的數(shù)據(jù)帶入完整預(yù)測模型,進行預(yù)測,再將預(yù)測所得結(jié)果反歸一化得到預(yù)測值。
第二方面,提供一種視頻網(wǎng)站的服務(wù)性能預(yù)測系統(tǒng),所述系統(tǒng)包含:
預(yù)處理模塊,用于通過模擬用戶請求,定時測量視頻網(wǎng)站性能參數(shù),計算性能參數(shù)之間的相關(guān)系數(shù);
如果相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值時,將所有性能參數(shù)的值存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集;
其中,所述性能參數(shù)包含:連接時間和下載速率;
預(yù)測模塊,用于對預(yù)測數(shù)據(jù)集進行參數(shù)無量綱化和歸一化預(yù)處理,基于預(yù)處理后得到的數(shù)據(jù)和時間序列模型或機器學(xué)習(xí)模型預(yù)測下一時刻的視頻網(wǎng)站的服務(wù)性能;
其中,對時間序列模型或機器學(xué)習(xí)模型輸出的歸一化預(yù)測結(jié)果進行反歸一化即得到用戶在下一時刻訪問視頻網(wǎng)站可獲得的真實的服務(wù)性能預(yù)測值。
結(jié)合上述第二方面,在第一種可能的實現(xiàn)方式中,當(dāng)性能參數(shù)包含連接時間和下載速率時,所述預(yù)處理模塊進一步包含:
測量子模塊,通過在節(jié)點上設(shè)定地址列表并模擬用戶行為,定時向地址列表中的視頻網(wǎng)站發(fā)送請求,測量視頻網(wǎng)站的連接時間和下載速率;
判決存儲子模塊,用于判斷如果相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值時,將所有性能參數(shù)的值存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集。
結(jié)合上述第二方面,和/或第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中當(dāng)采用三階指數(shù)平滑預(yù)測模型時,所述預(yù)測模塊進一步包含:
分組子模塊,用于采用測量發(fā)生的時間將收集的預(yù)測數(shù)據(jù)集分為兩部分:訓(xùn)練集和測試集;
預(yù)測模型參數(shù)最優(yōu)值獲取模塊,用于采用訓(xùn)練集的數(shù)據(jù)訓(xùn)練預(yù)測模型,將測試集的數(shù)據(jù)帶入模型公式,以預(yù)測值和真實值的最小最方誤差為標(biāo)準(zhǔn),不斷調(diào)整模型參數(shù),并利用梯度下降算法求得模型參數(shù)的最優(yōu)數(shù)值;
預(yù)測值獲取模塊,用于利用預(yù)測模型參數(shù)最優(yōu)值獲取模塊得到的模型參數(shù)的取值,得到完整預(yù)測模型;再將測試集中的數(shù)據(jù)帶入預(yù)測模型,進行預(yù)測,最后預(yù)測所得結(jié)果反歸一化得到預(yù)測值。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點在于:
1、通過步驟(1)中測量程序定時對視頻網(wǎng)站的連接時間和下載速率進行測量,確保測量條件的相對穩(wěn)定,減小時間間隔不統(tǒng)一等其余因素對預(yù)測準(zhǔn)確度的影響;
2、通過步驟(2)和步驟(3)將連接時間和下載速率相關(guān)性較高情況下的連接時間加入性能預(yù)測數(shù)據(jù)集,再進行參數(shù)無量綱化、歸一化,即引入其他信息源,提高預(yù)測的準(zhǔn)確度和網(wǎng)絡(luò)狀況突變情況下預(yù)測模型的穩(wěn)定性;
3、通過步驟(4)和步驟(5)中選擇合適的三階的指數(shù)平滑模型或機器學(xué)習(xí)模 型作為預(yù)測模型,提高預(yù)測的準(zhǔn)確程度。
附圖說明
圖1是融合多信息源的視頻網(wǎng)站服務(wù)性能預(yù)測方法的流程圖;
圖2是本方法應(yīng)用實例的場景示意圖;
圖3是本發(fā)明實施例提供的具體的性能預(yù)測數(shù)據(jù)集的生成及歸一化過程;
圖4是本發(fā)明實施例提供的三階指數(shù)平滑模型訓(xùn)練與預(yù)測流程。
具體實施方式
下面結(jié)合附圖對本發(fā)明的技術(shù)方案進行詳細(xì)說明。
實施例1
本發(fā)明提供了一種視頻網(wǎng)站服務(wù)性能預(yù)測方法,其步驟包括:
步驟(1)通過在節(jié)點上部署測量程序模擬用戶請求,定時測量視頻網(wǎng)站的連接時間和下載速率兩種服務(wù)性能指標(biāo);
步驟(2)由步驟1測量所得數(shù)據(jù),計算下載速率和連接時間的相關(guān)系數(shù),若相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值,判定兩個序列有相關(guān)性,否則判定兩個序列無相關(guān)性;
步驟(3)在步驟2中如果判定兩個序列有相關(guān)性,將測量所得的連接時間和下載速率的歷史數(shù)據(jù)放入網(wǎng)站性能預(yù)測數(shù)據(jù)集,否則僅把下載速率放入數(shù)據(jù)集。之后再對數(shù)據(jù)集進行線性歸一化;
步驟(4)將歸一化后的數(shù)據(jù)集整理成訓(xùn)練集和測試集,選擇時間序列模型中的三階的指數(shù)平滑模型或者機器學(xué)習(xí)模型中的線性回歸模型或徑向基網(wǎng)絡(luò)模型使用訓(xùn)練集訓(xùn)練模型,再使用測試集對模型效果進行驗證;
步驟(5)對步驟4中所選預(yù)測模型輸出的預(yù)測結(jié)果進行反歸一化得到用戶在下一時刻訪問視頻網(wǎng)站可獲得的真實的服務(wù)性能預(yù)測值。
實施例2
本發(fā)明的數(shù)據(jù)測量和服務(wù)性能預(yù)測模型均在單個節(jié)點上進行操作。
單個節(jié)點通過測量程序,定時測量視頻網(wǎng)站的連接時間和下載速率,進而計算連接時間和下載速率的相關(guān)性,整合數(shù)據(jù)集后進行參數(shù)無量綱化、歸一化。再選擇 合適的時間序列預(yù)測模型或機器學(xué)習(xí)模型進行預(yù)測,將預(yù)測所得結(jié)果反歸一化得到真實的預(yù)測值。
在一個使用實例中,如圖2所示,假設(shè)節(jié)點1上部署了測量程序,定時測量著視頻網(wǎng)站的下載速率和連接時間,節(jié)點根據(jù)測量的數(shù)據(jù),依照上述的方法預(yù)測出未來時刻的下載速率。
以節(jié)點1的下載速率預(yù)測為例說明本方法的測量過程:
(1)節(jié)點1跟蹤所測url列表,即節(jié)點1每隔一段時間定時向視頻網(wǎng)站服務(wù)器發(fā)送請求,再根據(jù)視頻網(wǎng)站服務(wù)器返回的數(shù)據(jù)包測得當(dāng)前時刻的下載速率和連接時間,并持續(xù)測量一段時間;
(2)節(jié)點1計算所測下載速率和連接時間之間的相關(guān)系數(shù),判斷相關(guān)系數(shù)絕對值是否超過設(shè)定閾值,若相關(guān)系數(shù)的絕對值超過設(shè)定閾值則將下載速率和連接時間放入該網(wǎng)站性能預(yù)測數(shù)據(jù)集;否則,僅把下載速率放入數(shù)據(jù)集;
其中,相關(guān)系數(shù)的具體計算過程如圖3:
計算兩個序列的相關(guān)系數(shù)時使用應(yīng)用最廣泛的皮爾遜相關(guān)系數(shù)。下載速率的數(shù)據(jù)集為gr1,gr2,...,gri,...,grn(1≤i≤n),連接時間的數(shù)據(jù)集為ct1,ct2,...cti,...,ctn(1≤i≤n),其中n測量的總次數(shù)。
皮爾遜相關(guān)系數(shù)的具體計算公式為:
(3)對數(shù)據(jù)集進行參數(shù)無量綱化和歸一化處理,進而生成新的數(shù)據(jù)集;
其中,歸一化的方法為線性歸一化,具體實現(xiàn)為:
具體的訓(xùn)練集和測試集的數(shù)據(jù)格式為所需預(yù)測時刻的下載速率之前的24個時刻(具體的時刻個數(shù)可根據(jù)實際需要進行修改)的下載速率的歷史數(shù)據(jù)加上當(dāng)前時刻的連接時間,以及預(yù)測時刻的下載速率的真實值作為訓(xùn)練集和測試集。
具體的訓(xùn)練集和測試集例子如下:
{gri,gri+1,gri+2,...,gri+23,cti+24,gri+24}
每一訓(xùn)練集用向右平滑一個時刻的新的數(shù)據(jù)替代原有位置的數(shù)據(jù),即產(chǎn)生下一時刻的數(shù)據(jù)集。
根據(jù)上面的數(shù)據(jù)集形式,在做參數(shù)無量綱化和歸一化的過程中將兩種單位分開歸一化,選擇線性歸一化方法。具體實現(xiàn)為:
歸一化后生成的新的訓(xùn)練集為:
{gri(un),gri+1(un),gri+2(un),...,gri+23(un),cti+24(un),gri+24(un)}
(4)選取合適的時間序列預(yù)測模型或機器學(xué)習(xí)模型使用歸一化后的數(shù)據(jù)集進行訓(xùn)練和預(yù)測;
具體的預(yù)測過程以指數(shù)平滑過程為例,細(xì)節(jié)如圖4:
選擇的時間序列模型為三階指數(shù)平滑模型,即在一階指數(shù)平滑的基礎(chǔ)上加入了趨勢因素和季風(fēng)性因素,具體原理如下:
st=α(xt-ut-k)+(1-α)(st-1+qt-1)
qt=β(st-st-1)+(1-β)qt-1
ut=γ(xt-st)+(1-γ)ut-k
其中,qt為趨勢因素,ut為季風(fēng)性因素,st為平滑后的值。
初始化的過程為:
q1=x2-x1
α,β,γ的取值選取使用梯度下降方法來尋找均方誤差c最接近0的情況時的取值。尋找均方誤差c的定義如下:
(5)對預(yù)測模型輸出的預(yù)測值進行反歸一化得到真實的預(yù)測值。
假設(shè)預(yù)測模型得到的預(yù)測值為gri+24(un)(pre),則進行反歸一化得到真實的預(yù)測值的方法為:
gri+24(pre)=gri+24(un)(pre)·(max(gr)-min(gr))+min(gr)
每個節(jié)點根據(jù)該方法都可以預(yù)測出未來時刻本節(jié)點的視頻服務(wù)網(wǎng)站的服務(wù)性能。
此外本發(fā)明實施例還以三階指數(shù)平滑預(yù)測模型為例,詳細(xì)預(yù)測過程如下:
(1)使用測量發(fā)生的時間將前一步中收集的性能預(yù)測數(shù)據(jù)集分為兩部分:訓(xùn)練集和測試集,eg:共25天的數(shù)據(jù),第1天-第15天的數(shù)據(jù)為訓(xùn)練集,第16天-第25天的數(shù)據(jù)為測試集;
(2)使用訓(xùn)練集的數(shù)據(jù)訓(xùn)練預(yù)測模型,將訓(xùn)練集數(shù)據(jù)帶入模型公式,以預(yù)測值和真實值的最小均方誤差為標(biāo)準(zhǔn),不斷調(diào)整模型參數(shù)(alpha,beta,gamma),利用梯度下降算法求得模型參數(shù)的最優(yōu)數(shù)值;
(3)利用(2)中得到的模型參數(shù)的取值,得到完整預(yù)測模型。將測試集中的數(shù)據(jù)帶入預(yù)測模型,進行預(yù)測。預(yù)測所得結(jié)果反歸一化得到預(yù)測值;
其余模型的預(yù)測原理和上面不同,但是整個預(yù)測過程是相同的,均是利用訓(xùn)練集訓(xùn)練模型,尋找模型最優(yōu)參數(shù),再帶入測試集,對性能進行預(yù)測。
實施例3
此外,本發(fā)明還提供一種視頻網(wǎng)站的服務(wù)性能預(yù)測系統(tǒng),所述系統(tǒng)包含:
預(yù)處理模塊,用于通過模擬用戶請求,定時測量視頻網(wǎng)站性能參數(shù),計算性能參數(shù)之間的相關(guān)系數(shù);
如果相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值時,將所有性能參數(shù)的值存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集;
其中,所述性能參數(shù)包含:連接時間和下載速率;
預(yù)測模塊,用于對預(yù)測數(shù)據(jù)集進行參數(shù)無量綱化和歸一化預(yù)處理,基于預(yù)處理后得到的數(shù)據(jù)和時間序列模型或機器學(xué)習(xí)模型預(yù)測下一時刻的視頻網(wǎng)站的服務(wù)性能;
其中,對時間序列模型或機器學(xué)習(xí)模型輸出的歸一化預(yù)測結(jié)果進行反歸一化即得到用戶在下一時刻訪問視頻網(wǎng)站可獲得的真實的服務(wù)性能預(yù)測值。
結(jié)合上述系統(tǒng)的技術(shù)方案,在第一種可能的實現(xiàn)方式中,當(dāng)性能參數(shù)包含連接 時間和下載速率時,所述預(yù)處理模塊進一步包含:
測量子模塊,通過在節(jié)點上設(shè)定地址列表并模擬用戶行為,定時向地址列表中的視頻網(wǎng)站發(fā)送請求,測量視頻網(wǎng)站的連接時間和下載速率;
判決存儲子模塊,用于判斷如果相關(guān)系數(shù)的絕對值超過預(yù)設(shè)閾值時,將所有性能參數(shù)的值存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率存入對應(yīng)網(wǎng)站的性能預(yù)測數(shù)據(jù)集。
結(jié)合上述系統(tǒng)方案,和/或第一種可能的實現(xiàn)方式中,在第二種可能的實現(xiàn)方式中當(dāng)采用三階指數(shù)平滑預(yù)測模型時,所述預(yù)測模塊進一步包含:
分組子模塊,用于采用測量發(fā)生的時間將收集的預(yù)測數(shù)據(jù)集分為兩部分:訓(xùn)練集和測試集;
預(yù)測模型參數(shù)最優(yōu)值獲取模塊,用于采用訓(xùn)練集的數(shù)據(jù)訓(xùn)練預(yù)測模型,將測試集的數(shù)據(jù)帶入模型公式,以預(yù)測值和真實值的最小最方誤差為標(biāo)準(zhǔn),不斷調(diào)整模型參數(shù),并利用梯度下降算法求得模型參數(shù)的最優(yōu)數(shù)值;
預(yù)測值獲取模塊,用于利用預(yù)測模型參數(shù)最優(yōu)值獲取模塊得到的模型參數(shù)的取值,得到完整預(yù)測模型;再將測試集中的數(shù)據(jù)帶入預(yù)測模型,進行預(yù)測,最后預(yù)測所得結(jié)果反歸一化得到預(yù)測值。
綜上所述,本發(fā)明提供了的方法包括:通過測量程序模擬用戶請求,定時測量出視頻網(wǎng)站的連接時間和下載速率,計算連接時間和下載速率的相關(guān)系數(shù)。如果相關(guān)系數(shù)超過預(yù)設(shè)閾值時,將下載速率和連接時間放入該網(wǎng)站性能預(yù)測數(shù)據(jù)集,否則,僅把下載速率放入數(shù)據(jù)集。對數(shù)據(jù)集進行參數(shù)無量綱化,歸一化處理后,使用時間序列模型或機器學(xué)習(xí)模型對下一時刻的服務(wù)性能指標(biāo)進行預(yù)測。對模型輸出的歸一化預(yù)測結(jié)果進行反歸一化即得到用戶在下一時刻訪問視頻網(wǎng)站可獲得的真實的服務(wù)性能預(yù)測值。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制。盡管參照實施例對本發(fā)明進行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,對本發(fā)明的技術(shù)方案進行修改或者等同替換,都不脫離本發(fā)明技術(shù)方案的精神和范圍,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求范圍當(dāng)中。