国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于LSTM的媒體網(wǎng)站用戶流量預(yù)測(cè)與負(fù)載均衡方法

2018-03-01 10:24謝海濤陳樹
網(wǎng)絡(luò)空間安全 2018年10期
關(guān)鍵詞:負(fù)載均衡

謝海濤 陳樹

摘 要:媒體網(wǎng)站的用戶流量呈現(xiàn)平穩(wěn)性、周期性、不規(guī)則變動(dòng)等特征,對(duì)用戶流量的有效預(yù)測(cè)有助于管理者設(shè)計(jì)更合理的負(fù)載均衡(Load Balance)策略。鑒于傳統(tǒng)預(yù)測(cè)技術(shù)難以對(duì)蘊(yùn)含在不同時(shí)間跨度中的知識(shí)進(jìn)行融合,論文提出了一種基于深度學(xué)習(xí)技術(shù)“長(zhǎng)短期記憶網(wǎng)絡(luò)(LSTM)”的用戶流量預(yù)測(cè)及負(fù)載均衡方法。該方法將網(wǎng)站的各類運(yùn)營(yíng)數(shù)據(jù)作為影響流量的特征,從而挖掘流量與其特征間的關(guān)聯(lián)知識(shí)。根據(jù)未來時(shí)間窗口的流量預(yù)測(cè)結(jié)果,進(jìn)行服務(wù)器資源預(yù)留,以實(shí)現(xiàn)較好的負(fù)載均衡效果。實(shí)驗(yàn)表明,相對(duì)于傳統(tǒng)方法,論文方法的請(qǐng)求響應(yīng)時(shí)間均值更低。

關(guān)鍵詞:用戶流量預(yù)測(cè);長(zhǎng)短期記憶網(wǎng)絡(luò);負(fù)載均衡

中圖分類號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A

1 引言

負(fù)載均衡是將用戶的請(qǐng)求分發(fā)到不同服務(wù)器,以縮短請(qǐng)求響應(yīng)時(shí)間的技術(shù)。對(duì)媒體網(wǎng)站來說,用戶訪問量的準(zhǔn)確預(yù)測(cè)是設(shè)計(jì)更合理的負(fù)載均衡策略、改善用戶訪問體驗(yàn)的數(shù)據(jù)依據(jù)。媒體網(wǎng)站的訪問量總體上呈現(xiàn)出平穩(wěn)性、趨勢(shì)性、周期性、隨機(jī)性等特征。例如,網(wǎng)站內(nèi)容質(zhì)量的提高讓用戶流量穩(wěn)中有升;用戶流量會(huì)伴隨日夜交替而產(chǎn)生周期性起伏;發(fā)布熱門內(nèi)容會(huì)導(dǎo)致用戶流量的激增等。上述現(xiàn)象表明用戶訪問量具有時(shí)間序列(Time Series)數(shù)據(jù)的典型特征,也使得媒體網(wǎng)站的用戶流量預(yù)測(cè)變得較為困難。

對(duì)于用戶流量問題,已存在諸多研究成果。傳統(tǒng)方法主要基于統(tǒng)計(jì)學(xué)、隨機(jī)過程、機(jī)器學(xué)習(xí)(淺層學(xué)習(xí))等技術(shù)提出解決方案。上述方法在用戶訪問量預(yù)測(cè)問題上取得了不錯(cuò)的應(yīng)用效果。不過,傳統(tǒng)方法在持續(xù)提高預(yù)測(cè)精度過程中遇到瓶頸,其重要原因是無法對(duì)蘊(yùn)含在不同時(shí)間跨度中的知識(shí)進(jìn)行有效提取及融合,即不具備“記住對(duì)預(yù)測(cè)有用的信息,忘記對(duì)預(yù)測(cè)無用的信息”能力。對(duì)此,本文提出了一種基于長(zhǎng)短期記憶網(wǎng)絡(luò)(深度學(xué)習(xí))的媒體網(wǎng)站用戶流量預(yù)測(cè)方法,并設(shè)計(jì)了基于預(yù)測(cè)結(jié)果的負(fù)載均衡優(yōu)化策略。

創(chuàng)新點(diǎn)在于兩點(diǎn):

(1)LSTM的深層結(jié)構(gòu)與遺忘記憶機(jī)制,可融合不同時(shí)間跨度的歷史信息;

(2)考慮到高峰流量通常伴有相似的內(nèi)容請(qǐng)求,負(fù)載均衡策略會(huì)預(yù)留出優(yōu)質(zhì)的服務(wù)器資源,對(duì)流量進(jìn)行集中處理和響應(yīng)。

在本文隨后的章節(jié)中,將首先闡述相關(guān)研究成果;然后對(duì)所解決問題進(jìn)行形式化,并基于LSTM提出了媒體網(wǎng)站流量預(yù)測(cè)方法;接著設(shè)計(jì)了具有資源預(yù)留機(jī)制的負(fù)載均衡方法;最后開展對(duì)比實(shí)驗(yàn)。

2 相關(guān)研究綜述

用戶流量預(yù)測(cè)(Network Traffic Prediction)作為評(píng)估與保障網(wǎng)絡(luò)可靠性、網(wǎng)絡(luò)安全性的機(jī)制,被廣泛應(yīng)用于門戶網(wǎng)站、電子商務(wù)網(wǎng)站等[1]。根據(jù)數(shù)據(jù)建模方法與視角的不同,主流方法包括三種:

(1)基于泊松分布、小波分析等的統(tǒng)計(jì)類建模方法;

(2)基于線性時(shí)間序列(Linear Time Series)模型、非線性時(shí)間序列(Nonlinear Time Series)模型、馬爾科夫過程的隨機(jī)過程類建模方法;

(3)基于神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等的機(jī)器學(xué)習(xí)類(Machine Learning)方法。

Erlang很早便提出基于排隊(duì)論方法學(xué)來建模用戶到達(dá)率問題,使用泊松分布對(duì)數(shù)據(jù)建模[2]。洪飛等基于小波分析技術(shù)建模網(wǎng)絡(luò)流量[3]。綜合自回歸移動(dòng)平均模型ARIMA也常被用于解決該問題,它將數(shù)據(jù)從非平穩(wěn)時(shí)間序列轉(zhuǎn)化為平穩(wěn)時(shí)間序列,其特點(diǎn)在于能從數(shù)據(jù)中捕獲到隨時(shí)間變化的隨機(jī)模式,隨機(jī)模式是指隨機(jī)過程的特征隨時(shí)間變化[4]。溫祥西、韓敏等基于支持向量機(jī)提出了時(shí)間序列預(yù)測(cè)模型[5,6]。彭喜元等使用原始數(shù)據(jù)構(gòu)建出多個(gè)特征,并基于神經(jīng)網(wǎng)絡(luò)進(jìn)行學(xué)習(xí)和預(yù)測(cè)[7]。

綜上,媒體網(wǎng)站用戶訪問量具有典型的非線性時(shí)間序列特征,且存在各類外部隨機(jī)擾動(dòng)。對(duì)其進(jìn)行精準(zhǔn)預(yù)測(cè)需要模型從不同時(shí)間尺度上學(xué)習(xí)數(shù)據(jù)規(guī)律。在難以可視化高維數(shù)據(jù)、難以描述隨機(jī)過程機(jī)制的情況下,使用LSTM模型將媒體的各類行為特征作為輸入,能最大限度捕捉特征變化規(guī)律,適于解決該問題。

3 基于LSTM的媒體網(wǎng)站訪問量預(yù)測(cè)方法

3.1 訪問量預(yù)測(cè)問題的形式化描述

媒體網(wǎng)站某段時(shí)間內(nèi)用戶訪問量數(shù)據(jù)V可記為:。其中,t是時(shí)間片序號(hào),v代表時(shí)間片內(nèi)的訪問量。按照上述表示法,媒體網(wǎng)站在運(yùn)營(yíng)中的各類行為均可被形式化描述為數(shù)據(jù)特征,如表1所示。

基于上述表示法,訪問量預(yù)測(cè)問題的輸入數(shù)據(jù)表示為:

本節(jié)要解決的問題,即通過對(duì)若干歷史時(shí)間片內(nèi)上述數(shù)據(jù)的學(xué)習(xí),預(yù)測(cè)未來若干時(shí)間片內(nèi)的訪問量。

3.2 長(zhǎng)短期記憶網(wǎng)絡(luò)

LSTM(Long Short Term Memory)是一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)RNN改進(jìn)而來的模型[8]。LSTM在長(zhǎng)短時(shí)間跨度的序列數(shù)據(jù)預(yù)測(cè)中,比RNN表現(xiàn)更好。神經(jīng)網(wǎng)絡(luò)作為具有輸入層、隱藏層、輸出層的機(jī)器學(xué)習(xí)模型可學(xué)習(xí)到數(shù)據(jù)中的非線性關(guān)系。神經(jīng)網(wǎng)絡(luò)通過后向和前向傳播完成參數(shù)的調(diào)整。當(dāng)按照計(jì)算時(shí)間將RNN展開后,如圖1所示。

其中,U、V、W是參數(shù),x、s、o分別為輸入、隱含層、輸出。LSTM在RNN基礎(chǔ)上通過增加“遺忘機(jī)制”“選擇記憶機(jī)制”實(shí)現(xiàn)了適應(yīng)長(zhǎng)短期時(shí)間跨度的序列數(shù)據(jù)學(xué)習(xí)能力。相比于RNN,LSTM有兩套傳輸狀態(tài):?jiǎn)卧獱顟B(tài)(Cell State)和隱藏層狀態(tài)(Hidden State),前者隨時(shí)間變化較慢,后者變化較快,具體細(xì)節(jié)如下:

某時(shí)刻t的單元狀態(tài)和隱藏層狀態(tài)分別記為:Ct,ht。若當(dāng)前輸入為Xt,<α,β>表示將兩向量進(jìn)行拼接(Concatenate),那么LSTM中的一組變量計(jì)算如下:

(1)

其中,zi,zf,zo由權(quán)重矩陣與拼接向量相乘得到,σ代表sigmoid激活函數(shù),將數(shù)值映射為0到1區(qū)間。上述三變量作為模型的門控信號(hào),分別控制著輸入、遺忘、輸出機(jī)制。z通過tanh函數(shù)將數(shù)值映射為-1到1區(qū)間,作為其它構(gòu)件的輸入數(shù)據(jù)。以上變量隨后參與如下運(yùn)算過程,并最終形成輸出yt,計(jì)算流程如圖2所示。

其中,⊕是矩陣相加算子,是同型矩陣相乘算子,即:矩陣中對(duì)應(yīng)元素相乘。上述結(jié)構(gòu)圖中的各變量計(jì)算方法如下:

(2)

LSTM在時(shí)序數(shù)據(jù)學(xué)習(xí)中,展現(xiàn)出如下的機(jī)制:

忘記機(jī)制:使用忘記門控信號(hào)zf對(duì)上一時(shí)刻所持有的信息Ct-1進(jìn)行選擇性忘記,忘記不重要的信息,即對(duì)結(jié)果預(yù)測(cè)無用的信息。

選擇記憶機(jī)制:對(duì)當(dāng)前時(shí)刻的輸入信息Xt進(jìn)行選擇性記憶,記住相對(duì)重要的信息,即對(duì)結(jié)果預(yù)測(cè)有用的信息,通過門控信號(hào)zi以及之前計(jì)算得到的z得到。

將上述兩路信息組合,形成當(dāng)前時(shí)刻的單元狀態(tài)Ct。以上信息經(jīng)過tanh函數(shù)并通過輸出門控信號(hào)zo來決定輸出內(nèi)容,并最終形成輸出yt。

3.3 基于LSTM的訪問量預(yù)測(cè)方法

由于LSTM接受向量形式的輸入與輸出。將時(shí)間序列樣本數(shù)據(jù)轉(zhuǎn)換為L(zhǎng)STM輸入數(shù)據(jù),其主要方法是將原數(shù)據(jù)與其按照步長(zhǎng)沿時(shí)間錯(cuò)位后的數(shù)據(jù)拼接而成。若某單變量Var時(shí)間序列數(shù)據(jù)為<…a,b,c,d,e,…>,那么步長(zhǎng)為2的轉(zhuǎn)換數(shù)據(jù)如表2所示,其中步長(zhǎng)為2表示當(dāng)前時(shí)刻t的數(shù)值受之前兩個(gè)時(shí)刻t-1,t-2的數(shù)值影響。在數(shù)據(jù)轉(zhuǎn)換完后,變量Vart即對(duì)應(yīng)監(jiān)督學(xué)習(xí)中的樣本的目標(biāo)值Y,Vart-1,Vart-2組成了樣本的特征向量X。

上述轉(zhuǎn)換可預(yù)測(cè)未來1個(gè)單位時(shí)間跨度的數(shù)值,若要針對(duì)2個(gè)單位時(shí)間跨度預(yù)測(cè),可將數(shù)據(jù)轉(zhuǎn)換為如表3所示。其與表2的區(qū)別在于,用該組數(shù)據(jù)訓(xùn)練的LSTM模型的輸出向量包含兩個(gè)預(yù)測(cè)數(shù)值,對(duì)應(yīng)于未來兩個(gè)時(shí)間片段。

在本研究中,由于需要基于媒體的多類行為特征以及用戶流量本身,來預(yù)測(cè)未來若干時(shí)間片段的用戶流量,那么對(duì)于表4中的數(shù)據(jù)可轉(zhuǎn)換為表5中的數(shù)據(jù),其中Var_1、Var_2表示兩個(gè)特征。

通過上述轉(zhuǎn)換,將多變量時(shí)間序列轉(zhuǎn)化為了LSTM學(xué)習(xí)與預(yù)測(cè)時(shí)所需要的樣本特征與目標(biāo)值記錄。之后將記錄劃分為訓(xùn)練集和測(cè)試集,便可生成未來若干時(shí)間片中用戶流量的預(yù)測(cè)結(jié)果。

4 基于用戶流量預(yù)測(cè)結(jié)果的負(fù)載均衡優(yōu)化方法

常用的負(fù)載均衡方法包括五大類。

(1)輪詢法。將用戶請(qǐng)求按順序輪流地分發(fā)給后端服務(wù)器處理。

(2)隨機(jī)法。通過系統(tǒng)的隨機(jī)算法,根據(jù)后端服務(wù)器的列表來隨機(jī)選取其中的一臺(tái)服務(wù)器進(jìn)行分發(fā)。

(3)源地址哈希法。根據(jù)發(fā)起請(qǐng)求的客戶IP地址,通過哈希函數(shù)計(jì)算得到的一個(gè)數(shù)值,用該數(shù)值對(duì)服務(wù)器列表進(jìn)行選擇和分發(fā)。

(4)加權(quán)法。后端服務(wù)器通常具有不同的配置和負(fù)載,對(duì)配置高、負(fù)載低的機(jī)器給與高權(quán)重,將更多的請(qǐng)求分發(fā)給權(quán)重高的服務(wù)器。

(5)最小連接數(shù)法。由于后端服務(wù)器的配置不同,對(duì)于請(qǐng)求的處理速度也不同,該方法根據(jù)服務(wù)器當(dāng)前連接的情況,動(dòng)態(tài)地選取其中積壓請(qǐng)求數(shù)最較少的服務(wù)器來處理當(dāng)前請(qǐng)求。

上述傳統(tǒng)的負(fù)載均衡方法,并沒有考慮不同請(qǐng)求之間的相似性。對(duì)于媒體網(wǎng)站,處于相近時(shí)間的用戶請(qǐng)求往往具有較大相似性。例如,媒體網(wǎng)站發(fā)布一則重要消息后,激增的用戶流量經(jīng)常均指向同一內(nèi)容。考慮到服務(wù)器的緩存機(jī)制和資源預(yù)取機(jī)制,若隨機(jī)或輪詢分發(fā)請(qǐng)求,其服務(wù)器平均響應(yīng)時(shí)間要遠(yuǎn)高于集中處理的時(shí)間。

對(duì)此,本文提出了基于流量預(yù)測(cè)和服務(wù)器資源預(yù)留的負(fù)載均衡方法,其主旨:若預(yù)測(cè)到未來某時(shí)間片中,用戶流量超過閾值,則根據(jù)服務(wù)器性能,為該時(shí)間片預(yù)留服務(wù)器資源,當(dāng)該時(shí)間片到臨時(shí),將請(qǐng)求集中分發(fā)到預(yù)留的服務(wù)器,方法邏輯圖如圖3所示。

5 實(shí)驗(yàn)與分析

本文基于Python機(jī)器學(xué)習(xí)開發(fā)環(huán)境開發(fā)LSTM模型。該環(huán)境搭建兼容Windows與Linux平臺(tái)。首先下載Anaconda工具并安裝,確保環(huán)境中有機(jī)器學(xué)習(xí)開發(fā)所必需的合適版本的基礎(chǔ)類庫。隨后,安裝深度學(xué)習(xí)所需要的Python類庫,包括Theano、TensorFlow和Keras。在設(shè)計(jì)與實(shí)現(xiàn)LSTM前,需要明確的模型重要特征包括:

(1)基于多少個(gè)歷史時(shí)間片段的數(shù)據(jù)進(jìn)行學(xué)習(xí);

(2)針對(duì)未來多少個(gè)時(shí)間片段做預(yù)測(cè);

(3)隱藏層有多少個(gè)神經(jīng)元;

(4)損失函數(shù)的選擇,如平均絕對(duì)誤差MAE;

(5)優(yōu)化算法選擇,如隨機(jī)梯度下降法SGD;

(6)樣本數(shù)據(jù)的訓(xùn)練輪次以及參數(shù)優(yōu)化中的一批次數(shù)據(jù)規(guī)模。

在模型特征確定后,實(shí)現(xiàn)模型的偽代碼如下:

用戶流量預(yù)測(cè)的實(shí)驗(yàn)數(shù)據(jù)源于真實(shí)數(shù)據(jù)和仿真數(shù)據(jù)。其中,真實(shí)數(shù)據(jù)來源于基于微信公眾號(hào)搭建的媒體網(wǎng)站的服務(wù)器日志,以IP地址來區(qū)分不同用戶的訪問行為。仿真數(shù)據(jù)則基于新浪微博(中國(guó)計(jì)算機(jī)學(xué)會(huì)CCF官微)的爬取數(shù)據(jù)而生成,生成方法為將微博賬戶的各類行為及點(diǎn)贊情況類比為媒體網(wǎng)站的各類行為及用戶流量。數(shù)據(jù)在用途上分為訓(xùn)練集與測(cè)試集,分別用于訓(xùn)練模型和進(jìn)行測(cè)試,仿真數(shù)據(jù)由程序自動(dòng)生成。在評(píng)價(jià)模型效果之前,需要對(duì)模型預(yù)測(cè)精度進(jìn)行定義。本文中,當(dāng)預(yù)測(cè)數(shù)值落在實(shí)際數(shù)值一定范圍內(nèi),則認(rèn)為該次預(yù)測(cè)準(zhǔn)確,否則為不準(zhǔn)確。精度定義為準(zhǔn)確預(yù)測(cè)占全部預(yù)測(cè)的比例。公式如下:

(3)

仿真實(shí)驗(yàn)分別針對(duì)用戶流量預(yù)測(cè)和負(fù)載均衡方法展開5組實(shí)驗(yàn),每組實(shí)驗(yàn)分別模擬具有不同特質(zhì)的用戶流量,得到結(jié)果如圖4和圖5所示。

從圖4和圖5可見,基于LSTM的用戶流量預(yù)測(cè)方法相比于傳統(tǒng)方法具有更高的精度?;诹髁款A(yù)測(cè)的負(fù)載均衡方法具有更短的服務(wù)器平均響應(yīng)時(shí)間。

6 結(jié)束語

本文針對(duì)媒體網(wǎng)站用戶訪問量受多類運(yùn)營(yíng)行為影響而難以預(yù)測(cè)的問題,提出了基于LSTM的預(yù)測(cè)方法,該方法能夠?qū)μN(yùn)含在不同時(shí)間跨度中的知識(shí)進(jìn)行融合,與傳統(tǒng)預(yù)測(cè)方法ARIMA相比,具有更高的預(yù)測(cè)精度。根據(jù)用戶流量預(yù)測(cè),設(shè)計(jì)了基于服務(wù)器資源預(yù)留的負(fù)載均衡方法。該方法可縮短請(qǐng)求的平均響應(yīng)時(shí)間,改善用戶訪問體驗(yàn)。

基金項(xiàng)目:

北京市科學(xué)技術(shù)研究院萌芽項(xiàng)目“深度學(xué)習(xí)技術(shù)在情報(bào)檢索用戶群體行為分析中的應(yīng)用研究”的階段性研究成果(項(xiàng)目編號(hào):GS201804)。

參考文獻(xiàn)

[1] Joshi M, Hadi T H. A review of network traffic analysis and prediction techniques[J]. Computer Science,2015.

[2] Bonald T.The Erlang model with non-poisson call arrivals[C]//Joint International Conference on Measurement and Modeling of Computer Systems. ACM,2006:276-286.

[3] 洪飛,吳志美.基于小波的多尺度網(wǎng)絡(luò)流量預(yù)測(cè)模型[J].計(jì)算機(jī)學(xué)報(bào), 2006, 29(1):166-170.

[4] Contreras J,Espinola R, Nogales F J, et al.ARIMA models to predict next-day electricity prices[J].IEEE Transactions on Power Systems,2003,18(3):1014-1020.

[5] 溫祥西,孟相如,馬志強(qiáng),等.小時(shí)間尺度網(wǎng)絡(luò)流量混沌性分析及趨勢(shì)預(yù)測(cè)[J].電子學(xué)報(bào),2012, 40(8):1609-1616.

[6] 韓敏,許美玲,穆大蕓.無核相關(guān)向量機(jī)在時(shí)間序列預(yù)測(cè)中的應(yīng)用[J].計(jì)算機(jī)學(xué)報(bào),2014, 37(12):2427-2432.

[7] 彭喜元,王軍,彭宇.一種新型時(shí)間序列多分辨預(yù)測(cè)模型研究[J].電子學(xué)報(bào),2007, 35(11):2146-2149.

[8] Hochreiter S,Schmidhuber J.Long short-term memory[J].Neural Computation,1997, 9(8):1735-1780.

猜你喜歡
負(fù)載均衡
LBS檢索容災(zāi)架構(gòu)研究
Linux負(fù)載均衡集群技術(shù)在網(wǎng)絡(luò)服務(wù)器中的應(yīng)用
Oracle MAA在汽車行業(yè)電子政務(wù)平臺(tái)中的應(yīng)用
社區(qū)教育平臺(tái)運(yùn)營(yíng)策略研究
異構(gòu)環(huán)境下改進(jìn)的LATE調(diào)度算法
基于負(fù)載均衡的云資源調(diào)度策略研究
基于新型VPN 技術(shù)的高校校園網(wǎng)改造
基于云計(jì)算的虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)及應(yīng)用
基于離散PSO算法的醫(yī)療云存儲(chǔ)部署策略
多站點(diǎn)同步更新系統(tǒng)的設(shè)計(jì)
龙川县| 海口市| 稷山县| 宁津县| 庐江县| 股票| 安徽省| 大连市| 珠海市| 土默特右旗| 侯马市| 施甸县| 滦平县| 肇源县| 鹤峰县| 安顺市| 错那县| 股票| 乌鲁木齐县| 富锦市| 焉耆| 固始县| 腾冲县| 清镇市| 册亨县| 抚州市| 磴口县| 晋宁县| 靖安县| 乐亭县| 曲松县| 集贤县| 高州市| 靖远县| 泰和县| 尼玛县| 新郑市| 百色市| 博白县| 郯城县| 舟山市|