孫凱俐 李暉 陳梅


摘要:準確預測服務器的剩余負載率可以合理地分配系統資源,提高系統的資源使用率。為了能有效提高區塊鏈應用中各節點剩余負載率序列預測的準確度,提出了一種差分自回歸移動平均(AutoregressiveIntegratedMovingAverage,ARIMA)模型、BP神經網絡以及局部異常因子(LocalOutlierFactor,LOF)算法的組合預測模型。對比ARIMA模型、ARIMA-BP模型、LOF-ARIMA-BP模型的預測結果,比較三個模型的預測能力。實驗結果表明,L0F一ARIMA-BP組合模型的預測精度優于ARIMA模型以及ARIMA-BP模型。
[關鍵詞]區塊鏈剩余負載率ARIMA模型BP神經網絡局部異常因子算法
1引言
區塊鏈具有去中心化和不可篡改的特點,將醫療數據加密存儲在區塊鏈中,相比較傳統的中心化存儲方式,既可以避免單點故障又可以防止醫療數據被篡改,實現了在保護隱私的醫療數據的基礎上方便用戶實時共享。區塊鏈本質上是一個去中心化的分布式數據庫,即系統中的每個節點都存在一個擁有完整數據的數據庫,所以醫療數據共享實際上是對分布式數據庫進行查詢操作。
在一個應用系統中,如果隨著用戶查詢請求任務數量的增加系統不能合理分配任務,將會出現過多的任務被分配給一個或部分節點的情況,嚴重影響服務質量。為了使系統能均衡地分配任務,充分利用各節點的資源,需了解各節點服務器的資源使用情況。而服務器的剩余負載率可以很好的體現服務器的當前性能。為了預先獲得各節點的負載變化,減少由于負載信息傳遞時延帶來的誤差,需要對服務器的剩余負載率進行預測,然后結合區塊鏈的特點根據各節點的區塊高度和預測的剩余負載率合理分配任務。這里加入區塊高度是因為各節點區塊鏈中區塊的同步存在時延,只有區塊高度最高的區塊鏈才保存有最完整的數據信息。
本文主要研究如何根據收集到的服務器和虛擬機的各項指標信息來構建準確度高的剩余負載率預測模型。實際上,絕大多數的服務器的剩余負載率受到并發請求數、服務等級協議等多方面隨機因素的影響,導致數據有非常大的隨機波動。雖然傳統的預測算法具有良好的預測性能,但單一模型很難考慮到所有隨機因素。本文采用LOF-ARIMA-BP組合預測模型對服務器剩余負載率進行預測,結合不同預測模型的優點加強對隨機因素的分析,以此提高預測的準確度。
2剩余負載率計算
在基于區塊鏈的醫療數據共享系統中,醫療數據共享即對數據庫進行查詢操作,主要與節點的CPU和內存有關;而區塊鏈中區塊的同步主要與節點的網絡帶寬有關。考慮到計算的復雜度以及負載值的準確性,本文選取CPU和內存的利用率作為負載狀態的計算因子。各節點的資源剩余狀態L根據公式(1)計算。
其中,L。為CPU剩余,Lm為內存剩余,φ為CPU權重,φ為內存權重,且φ+φ=1。各項指標的權重參數反應不同指標的重要程度。在本文中,φ取0.8,φ取0.2。
系統所有節點的剩余負載總和為:
則第i臺服務器節點的剩余負載率為:
3LOF-ARIMA-BP組合模型
針對服務器剩余負載率的傳統預測方法有很多,常見的主要有時間序列線性預測模型和BP神經網絡預測模型。
3.1ARIMA模型
ARIMA模型是最廣泛使用的時間序列模型之一。其基本思想是用一定的回歸模型近似的描述隨時間推移形成的數據序列,然后檢驗該模型的擬合能力,檢驗成功后再用模型來預測未來值。
ARIMA模型主要采用的是線性模型進行預測,可以預測到下一段時間數據的整體走勢和中值,但預測不到突發情況。即ARIMA模型本質上只能捕捉線性關系,對非線性數據的處理效果不佳,預測的精度有待進一步提高。
3.2BP神經網絡
BP神經網絡,由輸入層、一個或多個隱藏層和輸出層組成。BP神經網絡的目的是利用網絡的實際輸出和期望輸出之間的誤差值對網絡多層的連接權值和閾值不斷進行調整,使得誤差達到可以接受的范圍。
BP神經網絡是一種有效的非線性建模方法,在處理隨機性、非線性等問題時有很大的優勢,可以充分挖掘數據背后隱含的非線性關系。但BP神經網絡在線性關系的挖掘方面遠不如ARIMA這類傳統的線性技術方法。
3.3ARIMA-BP模型
剩余負載率序列包含線性和非線性時序兩部分,導致單一的預測模型預測精度不高。因此,本文將ARIMA預測模型和BP神經網絡兩種方法結合起來,通過兩種不同方法之間的相互補充,提高模型預測剩余負載率的效果。
ARIMA-BP模型預測的步驟是:首先利用ARIMA模型對樣本(假設為P)進行線性部分的預測,預測結果為C,記樣本與預測結果的殘差為e,et=Pr一Cr。然后再利用BP神經網絡模型來估計殘差,得到的預測值記為論,最終模型得到的剩余負載率預測結果為在ARIMA-BP模型中,ARIMA模型用于序列線性部分的預測,BP神經網絡模型用于對序列非線性部分的殘差進行修正,這兩個模型不僅充分發揮了模型各自的優點,還起到了互補的作用,提高了預測的精度。
3.4LOF-ARIMA-BP組合模型
對于平穩期的剩余負載率來說,ARIMA模型的預測準確率已經達到了比較高的水平,如果再加上BP神經網絡非線性部分的預測分量會使平穩期的預測值整體偏大。本文將固定因素影響的樣本點作為原始樣本集,為正常點受隨機因素影響的樣本點作為異常點。則平穩期的樣本點屬于正常點,峰值期的樣本點屬于異常點。為了檢測樣本點是否為異常點,引入LOF算法,提出LOF-ARIMA-BP模型。
LOF算法是數據挖掘領域一種基于局部密度的k最近鄰方法。當測試數據的局部密度與其鄰居的密度相似時,LOF異常因子會比較低,該測試數據屬于正常數據;當測試數據的局部密度低于最近鄰居,則LOF異常因子會比較高,那么該測試數據就屬于異常數據。
LOF-ARIMA-BP模型是通過LOF算法檢測ARIMA模型的預測值,計算預測點的LOF異常系數,然后與預先設定的LOF閾值進行對比。如果異常系數大于閾值,則該預測值為異常點,最終的預測值為ARIMA-BP模型預測的值;如果異常系數小于閾值,則該預測值為正常點,最終的預測值直接為ARIMA模型的預測值。
4實驗及分析
實驗所采用的基于區塊鏈的醫療數據共享系統由1個負載均衡節點和2個服務節點組成。實驗中的區塊鏈系統是基于Asch鏈構建的一個去中心化應用平臺。系統節點配置如表1所示。
本實驗主要是比較ARIMA、ARIMA-BP、LOF-ARIMA-BP三個模型對剩余負載率的預測能力。
首先,各節點通過監測器收集自身的CPU和內存的使用情況。然后,根據公式(3)計算剩余負載率并作為預測的原始序列。最后,利用預測模型預測節點后續的剩余負載率,為任務分配提供依據。
4.1實驗評估指標
本實驗的評估指標選用平均絕對百分比誤差(MAPE)評估指標由如下公式計算:
式中y;代表實際值,介代表預測值,n代表在數據集的數據預測的數目。MAPE值越低,.就意味著預測模型的擬合程度越高,模型就具有越好的精確度。
4.2實驗過程及參數
4.2.1實驗步驟
(1)數據選取。因系統中查詢任務的平均完成時間為3s,故監測器1s收集一°次節點的CPU和內存的使用情況并根據公式(3)計算剩余負載率作為原始的時間序列。選取300個時間間隔共5分鐘的數據,利用這些數據預測在未來10s內即后續10個時間間隔的剩余負載率,對比三個模型在剩余負載率預測方面的能力。服務器剩余負載率的時間序列如圖1所示。
(2)采用差分的方法對原數據序列進行平穩化處理。差分后的時間序列如圖2所示。
(3)構建ARIMA(,d,q)模型。為了防止
模型精度過高造成的模型復雜度過高的問題,本文采用BIC準則進行模型的定階。最終選用的模型為ARIMA(1,1,1)。
(4)BP神經網絡修正殘差。計算上一步得到的預測值與真實值的差值為殘差序列。然后通過BP神經網絡對殘差進行預測分析并修正。ARIMA(1,1,1)模型的最初預測值與BP神經網絡修正后的殘差值的相加為ARIMA-BP模型的預測值。
(5)LOF檢測異常值。使用LOF算法計算ARIMA(1,1,1)預測值的異常系數,正常點采用ARIMA(1,1,1)模型的預測值作為最終預測值,異常點采用ARIMA-BP模型的預測值作為最終預測值。
4.2.2實驗結果分析
圖3為三個模型的預測值與真實值的對比圖。
根據公式(4)計算各模型的MAPE,如表2所示。
圖3和表2的實驗結果表明本文提出的LOF-ARIMA-BP組合預測模型預測剩余負載率的能力要優于ARIMA模型和ARIMA-BP模型。各模型的平均絕對百分比誤差分別從7.92%和6.52%減小到6.01%。
5結束語
組合的預測模型可以優勢互補,充分考慮剩余負載率線性和非線性兩部分的因素。當客戶端突增大量查詢請求時,負載均衡器可以利用本文提出的LOF-ARIMA-BP組合模型預測各節點的剩余負載率,然后根據區塊高度和預測值選擇合適的服務器分發任務,達到負載均衡的目的,從而提高系統資源的利用率。
參考文獻
[1]黃俊飛,劉杰,區塊鏈技術研究綜述[J].北京郵電大學學報,2018,41(02):1-8.
[2]薛騰飛,傅群超,王樅等。基于區塊鏈的醫療數據共享模型研究[J].自動化學報,2017,43(X):1555-1562.
[3]聞靜.基于CPU利用率預測的虛擬機動態部署方法研究[D].東北大學,2014.
[4]杜軍,郭慧敏,黃路非.基于病案首頁的ARIMA模型及其改進模型的預測對比[J].中國病案,2018,19(09):40-42.
[5]彭潔。云計算環境下基于預測算法的負載均衡機制研究[D].南昌大學,2016.
[6]Ding S, Su C,Yu J. An optimizingBP neural network algorithmbased on genetic algorithm[J ] .Artificial IntelligenceReview, 2011, 36(2): 153-162.
[7]馮英.基于訪問負載預測的云資源供應策略研究[D].湖南大學,2017.
[8]阿希:一個基于側鏈技術的去中心化應用平臺[EB/0L].[2019-02-20].https://asch-public.oss-cn-beijing.aliyuncs.com/asch.io/Asch-whitepaper-zh.pdf.