本技術(shù)屬于服務(wù)器負載優(yōu)化,具體涉及一種基于arma利用相似度算法實現(xiàn)服務(wù)遷移的方法。
背景技術(shù):
1、眾多中小企業(yè)在運行軟件服務(wù)的過程中,缺乏統(tǒng)一的服務(wù)器資源管理平臺。通用的技術(shù)方案是運維人員依據(jù)經(jīng)驗手動對各服務(wù)器進行監(jiān)控、部署、分配服務(wù)器資源。在服務(wù)器資源有限的情況下,運維人員需要對不同種類的服務(wù)采用混合方式進行部署,這就導(dǎo)致多種服務(wù)混合部署與同一臺服務(wù)器時,服務(wù)器之間會出現(xiàn)資源相互競爭的現(xiàn)象。當上述現(xiàn)象出現(xiàn)時,運維人員需要達到準確優(yōu)化、人工監(jiān)控、預(yù)估資源等一系列步驟才能保證服務(wù)的準確運行。進而,當服務(wù)器資源出現(xiàn)瓶頸,需要進行服務(wù)遷移時,運維人員還需要通過服務(wù)器指令查看服務(wù)器實時狀態(tài)以對目標服務(wù)器進行選擇。
2、現(xiàn)有的服務(wù)遷移方式主要存在兩個方面的不足:(1)目標服務(wù)器的選擇存在偶然性,即目標服務(wù)器的選取缺乏實際數(shù)據(jù)支撐;(2)服務(wù)遷移后仍是依靠運維人員的經(jīng)驗進行管理,沒有排除遷移前的隱患。
技術(shù)實現(xiàn)思路
1、本發(fā)明提供了一種基于arma利用相似度算法實現(xiàn)服務(wù)遷移的方法,解決了服務(wù)遷移缺少數(shù)據(jù)支撐而不可控、依賴人工經(jīng)驗而不可靠的問題。
2、本技術(shù)的技術(shù)方案如下:一種基于arma利用相似度算法實現(xiàn)服務(wù)遷移的方法,包括以下步驟:
3、s1)以時間序列并按照固定頻率采集處于運行狀態(tài)的服務(wù)器負載數(shù)據(jù)和其所運行的服務(wù)負載數(shù)據(jù);
4、s2)以任意兩個采集日中相同時段的服務(wù)器負載數(shù)據(jù)和需求配置為輸入,采用相似度算法輸出應(yīng)用場景下的各服務(wù)器與需求配置之間的相似度,選擇相似度最高的服務(wù)器作為源服務(wù)器進行服務(wù)遷移;
5、本步驟中的相似度算法模型為:
6、;
7、式中, l i為第一采集日的服務(wù)器負載數(shù)據(jù); l j為在第二采集日的服務(wù)器負載數(shù)據(jù); u i、 u j分別為 l i、 l j所在時段的需求配置; c為乘積系數(shù); d為常數(shù)系數(shù);
8、其中,表示兩個采集日中服務(wù)器負載數(shù)據(jù)的核心屬性;表示兩個采集日中需求配置的核心屬性;表示兩個采集日中服務(wù)器負載數(shù)據(jù)的全部屬性;表示兩個采集日中需求配置的全部屬性;
9、s3)以s2)選取的兩個采集日中,源服務(wù)器的服務(wù)負載數(shù)據(jù)和源服務(wù)器負載數(shù)據(jù)為輸入,采用相似度算法輸出源服務(wù)器與各服務(wù)之間的相似度,選擇相似度最高的服務(wù)作為遷移服務(wù);
10、本步驟中的相似度算法模型為:
11、;
12、式中, a i為第一采集日的服務(wù)負載數(shù)據(jù); a j為在第二采集日的服務(wù)負載數(shù)據(jù); b i、 b j分別為 a i、 a j所在時段的源服務(wù)器負載數(shù)據(jù); e為乘積系數(shù); f為常數(shù)系數(shù);
13、s4)源服務(wù)器和待遷移服務(wù)確定后,其他服務(wù)器為目標服務(wù)器;以各目標服務(wù)器的剩余配置和待遷移服務(wù)的負載數(shù)據(jù)為輸入,采用相似度算法輸出各目標服務(wù)器和待遷移服務(wù)之間的相似度,選擇相似度最高的目標服務(wù)器作為遷移服務(wù)器;
14、本步驟中的相似度算法模型為:
15、;
16、式中, m i為第一采集日的目標服務(wù)器剩余配置; m j為在第二采集日的目標服務(wù)器剩余配置; s i 、s j為與 m i、 m j對應(yīng)的待遷移服務(wù)的負載數(shù)據(jù), g為乘積系數(shù); h為常數(shù)系數(shù);
17、s5)將服務(wù)負載數(shù)據(jù)輸入至arma時序預(yù)測模型中,輸出服務(wù)預(yù)測負載數(shù)據(jù);將遷移服務(wù)器的剩余配置數(shù)據(jù)輸入至arma時序預(yù)測模型中,輸出剩余配置預(yù)測數(shù)據(jù)。
18、以預(yù)測負載數(shù)據(jù)和剩余配置預(yù)測數(shù)據(jù)為輸入,采用相似度算法輸出預(yù)測負載數(shù)據(jù)和剩余配置預(yù)測數(shù)據(jù)相似度,根據(jù)相似度結(jié)果判斷遷移服務(wù)器是否可容納遷移服務(wù);
19、本步驟中的相似度算法模型為:
20、;
21、式中, t i為未來第 i天目標服務(wù)器剩余配置預(yù)測數(shù)據(jù); t j為未來第 j天目標服務(wù)器剩余配置預(yù)測數(shù)據(jù); r i為待遷移服務(wù)未來第 i天的預(yù)測負載數(shù)據(jù); r j為待遷移服務(wù)未來第 j天的預(yù)測負載數(shù)據(jù); i≠ j; p為乘積系數(shù); q為常數(shù)系數(shù)。
22、進一步地,步驟s1)中,服務(wù)器負載數(shù)據(jù)和服務(wù)負載數(shù)據(jù)均包括內(nèi)存消耗、磁盤消耗、cpu負載消耗以及網(wǎng)絡(luò)帶寬消耗。
23、進一步地,步驟s2)中,需求配置包括服務(wù)器的內(nèi)存配置、cpu配置、磁盤io配置以及網(wǎng)絡(luò)網(wǎng)絡(luò)配置總額。
24、進一步地,步驟s5)中,arma時序預(yù)測模型如下:
25、 y_t?=?c?+?φ1 *y_(t-1 )?+?φ2 *y_(t-2 )?+?...?+?φ_p*y_(t-p)?+?ε_t?+?θ1 *ε_ (t-1 )?+
26、 θ2 *ε_(t-2 )?+?...?+?θ_q*ε_(t-q);
27、式中, t表示時間; y_t為時間 t的觀測值;c為常數(shù)項; φ 1 ,φ 2 ,…,φ_p為自回歸系數(shù),表示 t-1, t-2,…, t- p時刻 y值對 t時刻 y值的線性影響; ε_ t是時間 t的誤差項; θ1, θ2,…, θ_ q是移動平均系數(shù),表示 t-1, t-2,…, t-q時刻的誤差對 t時刻 y值的影響。
28、由于采用了上述技術(shù)方案,本技術(shù)的有益效果如下:
29、1.本技術(shù)為服務(wù)遷移過程中的各個步驟均提供了數(shù)據(jù)支撐,能顯著提高各個服務(wù)器的資源利用效率,使服務(wù)遷移能夠標準化、程序化、經(jīng)驗實體化。
30、2.本技術(shù)能顯著提高服務(wù)向其他服務(wù)器遷移后的可控性,由于服務(wù)器資源占用率呈現(xiàn)隨時間波動的特點,因此,本技術(shù)能靈活調(diào)整服務(wù)器中的運行服務(wù)以實現(xiàn)服務(wù)控制,既有助于保障服務(wù)的正常運行,也能緩解服務(wù)器資源不合理占用的情況。