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

?

基于改進PageRank的調用鏈異常節(jié)點定位研究

2021-05-16 16:34:58陳樂紀炎明肖忠良
現(xiàn)代信息科技 2021年22期
關鍵詞:機器學習

陳樂 紀炎明 肖忠良

摘? 要:微服務、云原生是當前信息系統(tǒng)發(fā)展的主流方向,給信息系統(tǒng)帶來高可用的同時也讓IT系統(tǒng)變得前所未有的復雜,這對IT運維工作帶來了巨大的挑戰(zhàn)。機器學習正是當前時代下應對復雜系統(tǒng)和海量信息的可選措施。文章將討論基于PageRank的算法在接口服務調用鏈上定位異常節(jié)點,并且經過測試,可在錯綜復雜的調用關系上實現(xiàn)快速準確的異常定位。

關鍵詞:IT運維;機器學習;PageRank;調用鏈分析;異常節(jié)點定位

中圖分類號:TP18? ? ? ?文獻標識碼:A文章編號:2096-4706(2021)22-0059-04

Abstract: Microservices and cloud native are the mainstream development directions of current information systems. While bringing high availability to information systems, they also make IT systems more complex than ever before, which bring huge challenges to IT operation and maintenance. Machine learning is an optional measure to deal with complex systems and massive amounts of information in the current era. This paper will discuss the algorithm based on PageRank to locate the exception node on the interface service call chain, and after testing, it can realize fast and accurate exception location on the complex call relationship.

Keywords: IT operation and maintenance; machine learning; PageRank; call chain analysis; abnormal node location

0? 引? 言

當前的IT系統(tǒng)大多以采用微服務+云原生的架構[1]。微服務架構是將一個復雜的應用拆解成多個獨立自治的服務,服務之間以松耦合的形式交互。如此部署應用的優(yōu)勢很明顯,即業(yè)務邏輯清晰、部署簡單、可拓展、高可用等等。以中國移動某省CRM為例,2018年完成了分布式5層云化IT系統(tǒng),設計的系統(tǒng)極為龐大[2]。其中某訂單系統(tǒng)的規(guī)模如圖1所示。

微服務的劣勢也隨著IT系統(tǒng)規(guī)模的擴大而愈發(fā)明顯,各個組件的調用關系錯綜復雜,對運維的壓力也與日俱增。為了掌握系統(tǒng)的實時狀態(tài),大多數IT廠商會建設集中化監(jiān)控系統(tǒng),在IT系統(tǒng)中部署采集agent,實時采集系統(tǒng)各個層級,比如應用、中間件、主機等的告警信息。這從原來缺少信息的極端,走到信息過載的另一個極端。同時,高度復雜的IT系統(tǒng)架構意味著,一旦某個局部組件發(fā)生異常,故障信息就極易在短時間內擴散,觸發(fā)大量告警。大量的告警信息中存在巨大的冗余,會淹沒掉真正有用的信息?!稊底制髽I(yè)雜志》于2019年的IT運維管理研究報告中顯示,大型廠商的IT系統(tǒng)每停機1小時,可造成12.7萬美元的損失,而恢復系統(tǒng)正常平均需要3.7個小時[3]。

面對這樣的挑戰(zhàn),傳統(tǒng)的運維方式屬于被動式響應,雜亂無章且充斥冗余信息的告警事件讓運維人員疲于奔命,在異常事件發(fā)生時,被動的人工排查方式存在故障定位困難、運維效率低下的問題。并且隨著業(yè)務的拓張,系統(tǒng)的擴容也在所難免,而運維的擴展很難跟上系統(tǒng)擴容的速度。而機器學習算法輔助的智能運維[4],正是實現(xiàn)復雜系統(tǒng)運維和處理海量告警信息的可行方向。本文通過引入圖的鏈接(link analysis)的代表性算法PageRank,在多筆業(yè)務調用鏈構成的有向圖上計算每個節(jié)點的異常得分,最終在高度復雜的調用關系網絡中快速準確的定位到異常節(jié)點,幫助運維人員在異常、故障發(fā)生時快速定位異常根因,從而縮短修復時間,快速恢復業(yè)務正常可用。

1? 基于PageRank的調用鏈算法流程

1.1? PageRank算法描述

PageRank最初是用于計算網頁重要度的方法,于1966年由Page和Brin提出[5],并用于谷歌搜索引擎的網頁排序。除此之外,在圖書影響力評價[6]、全球貿易網絡格局演變分析[7]、微博用戶影響力評價[8]等方面都有廣泛引用。PageRank算法的基本思想是在將網頁及其訪問關系定義為有向圖,并在圖上定義一個隨機游走模型,即一階馬爾可夫鏈,模擬網頁訪問者隨機瀏覽網頁的過程。網頁訪問者在每個網頁依照網頁鏈接出去的超鏈接,以一定概率跳轉到下一個網頁,不斷重復這個過程,極限情況下每個網頁的訪問概率收斂于平穩(wěn)分布,這時候每個網頁的訪問概率就是其PageRank值,也就是網頁的重要度。如圖2所示。

PageRank基于兩個假設:

(1)如果一個網頁能被很多其他的網頁鏈接到,說明這個網頁非常重要,PageRank值也就越高。

(2)一個PageRank值非常高的網頁鏈接到另一個網頁,被鏈接網頁的PageRank也應該提高。

接下來使用PR值代表網頁的PageRank值,來總結PageRank值的計算方法。

輸入:需要計算網頁PR值的N個網頁,以及網頁之間互相鏈接構成的有向圖。

輸出:全部網頁的PR值,以及按照PR值排序得到的網頁重要性順序。

(1)統(tǒng)計每個網頁的出鏈對象,以及所有的出鏈數量。假設網頁A的全部的出鏈對象有網頁B和C,則其出鏈數量為2。

(2)給每個網頁賦予一個初始PR值,假設存在N個網頁,定義每個網頁的初始PR值為1/N。

(3)在每一個epoch中,依次計算每個網頁的PR值,迭代計算方式為:

其中α是阻尼系數,一般設定為0.85,MA指的是對網頁A出鏈的全部網頁,L(x)指的是網頁X的出鏈數量,N為網頁總數。

(4)持續(xù)迭代多個epoch,直到每網頁的PR值不再顯著變化。即全部的網頁的PR值不再顯著變化。

(5)輸出每個網頁的PR值。并將網頁按照PR值進行排序,輸出重要性排行靠前的網頁。

1.2? 改進PageRank算法

PageRank算法主要用作計算互聯(lián)網網頁重要度的算法。其實除了之前提到的2個假設外,存在一個隱藏假設,即各個網頁之間存在大量的、充分的互相訪問構成的鏈接關系,并且網頁之間按照一定概率進行隨機跳轉。這也是PageRank的核心迭代公式的簡單理解。

但對于接口服務的業(yè)務調用構成的調用網絡上,直接使用PageRank的節(jié)點權重計算方式則存在一定的問題,其基本假設不成立,即:

(1)單位時間內節(jié)點之間的訪問次數是有限的,比如5分鐘內可能存在最多50筆業(yè)務,而我們需要在這50筆業(yè)務調用中定位到異常節(jié)點,如果節(jié)點非常多,則可能存在某些節(jié)點未被調用。我們需要基于單位時間內產生的有限業(yè)務調用中定位到異常節(jié)點。

(2)節(jié)點之間的訪問存在層次關系,比如接口服務層節(jié)點調用應用層節(jié)點,應用層調用中間件節(jié)點,依次類推,不存在頂層的接口服務節(jié)點直接調用底層的主機節(jié)點的情況。

因此我們需要對PageRank做一定的改進,使其能應用到業(yè)務調用的異常節(jié)點定位。

首先,我們定義一個節(jié)點與它上下文的調用節(jié)點、被調用節(jié)點存在圖相鄰關系。假設在多筆調用鏈構成的調用關系網絡中,節(jié)點H分別調用了節(jié)點O、P、Q,而有節(jié)點A、B、C調用了節(jié)點H,則H和節(jié)點列表{A,B,C,O,P,Q}都存在圖相鄰關系。

其次,基于調用關系和調用耗時,定義節(jié)點之間的有向邊E和權重W。假設節(jié)點H調用了節(jié)點A,則存在一個有向邊H->A。SRE中提到的4個黃金指標中,耗時最適合用作計算異常得分。這里基于節(jié)點之間的調用耗時,定義邊的權重。假設單位時間內存在50筆業(yè)務,每筆業(yè)務的總耗時為Ti,i=1,2,...,50,則節(jié)點H與節(jié)點A的邊H->A的邊權重為:

wHA=tHA

其中tHAt為單位時間內發(fā)生的所有業(yè)務調用中節(jié)點H調用節(jié)點A的平均耗時。

再則,假設節(jié)點H被調用時的平均耗時越大,則H的異常得分也越大。而一個異常得分很高的節(jié)點調用另一個節(jié)點時,被調用節(jié)點的異常得分也相應增大。

最后,基于節(jié)點的多筆調用鏈構成的調用關系,改進PageRank的節(jié)點異常得分的迭代公式為:

其中vj是調用vi的節(jié)點,M(vi)表示調用節(jié)點vi的節(jié)點集合,out(vj)表示被節(jié)點vj調用的節(jié)點集合,wjt表示調用節(jié)點vj和vi之間有向邊的權重。

由于節(jié)點間的業(yè)務調用可能并不充分,部分節(jié)點存在不被調用的可能,并且還去除了節(jié)點之間隨機調用,這意味著經過多次epoch迭代后,節(jié)點的PR值可能不會收斂。因此我們判斷迭代是否停止的條件需要做修改,即每個epoch結束時,輸出節(jié)點的PR值和節(jié)點的PR排名,如果排名和上一個epoch相等時則停止迭代。

改進PageRank算法總結:

輸入:基于多筆調用鏈構成的調用網絡N,每筆調用鏈的調用總耗時T,以及每個節(jié)點之間的調用平均耗時t。

輸出:節(jié)點的異常得分序列PR及其排序R。

計算過程為:

(1)定義節(jié)點的初始PR值。假設調用網絡的總節(jié)點數為N。則每個節(jié)點的初始PR值為:

(2)定義節(jié)點之間的有向邊的權重。假設節(jié)點vj調用節(jié)點vj的平均耗時為,則節(jié)點vj和節(jié)點vj之間的有向邊的權重wjt為:

wjt=tjt

(3)從epoch=1開始,依次對計算每個節(jié)點vj 的PR值,計算方式為:

其中vj是調用vj的節(jié)點,M(vi)表示調用節(jié)點vi的節(jié)點集合,out(vj)表示被節(jié)點vj調用的節(jié)點集合,wjt表示調用節(jié)點vj和vi之間有向邊的權重。

(4)輸出每個節(jié)點的PR值及其排序R,如果第m+1個epoch輸出的節(jié)點排序Rm+1和前一次,也就是第m個epoch輸出的節(jié)點排序Rm一樣,則停止迭代,否則重復步驟3。

以上就是本文用于調用鏈異常節(jié)點定位的改進PageRank算法。

2? 實驗與結果分析

一個典型的業(yè)務調用鏈如圖3所示。

由于目前計算機系統(tǒng)的故障次數很少,為了驗證改進PageRank算法在異常節(jié)點定位的準確率,我們基于業(yè)務特征仿真了一個接口服務調用網絡,本次模擬定義了5層業(yè)務系統(tǒng),每層分別有10個節(jié)點,只有相鄰網絡層可以相互調用。如此構成了如圖4所示的網絡架構。

接下來在網絡圖中隨機將1個節(jié)點,或2個節(jié)點定義為異常節(jié)點,異常節(jié)點可能在最底層,也可能在最外層?;谡{用耗時區(qū)分普通節(jié)點和異常節(jié)點,普通節(jié)點的被調用耗時為0~100 ms,而異常節(jié)點在耗時為200 ms~300 ms。

之后,在接口服務調用網絡中,模擬多筆業(yè)務的完整調用,每一筆業(yè)務都是從最外層節(jié)點一直執(zhí)行到最里層。比如其中的一筆業(yè)務調用如圖5所示。

通過在網絡上模擬w筆業(yè)務,并使用改進的PageRank算法計算每個節(jié)點的異常得分,也就是PR值,推舉排序最高的3個作為推薦結果。如果預埋的異常節(jié)點都在推薦結果之內,則定義算法的異常節(jié)點定位正確。本次實驗中主要驗證改進PageRank算法在不同的預埋節(jié)點k和模擬業(yè)務次數w下的異常節(jié)點定位準確率。圖6中白色節(jié)點為算法推薦的3個異常節(jié)點。

改進PageRank在多次實驗的異常定位準確率如表1所示。

異常定位準確率很好的反映了算法的有效性。以上數據表明,隨著模擬業(yè)務次數w的增多,改進PageRank對異常節(jié)點的定位準確率也在逐漸提升,當業(yè)務次數為節(jié)點數量的2倍以上,算法的異常定位也更穩(wěn)定,基本滿足業(yè)務所需。

3? 結? 論

針對復雜系統(tǒng)中難以定位異常節(jié)點的問題,本文基于圖分析算法PageRank算法和業(yè)務調用特征,改進PageRank算法,改進方向主要是邊權重和節(jié)點異常分數的計算方式。之后模擬單位時間內產生的多筆業(yè)務調用構成調用網絡,試驗改進PageRank算法在模擬的業(yè)務調用中定位異常節(jié)點的準確率。實驗結果表明,本文提出的方法可以在在復雜的調用關系網絡中快速準確的定位到異常節(jié)點,可在業(yè)務上幫助運維人員在異?;蚬收习l(fā)生時快速定位異常原因,縮短修復時間,恢復業(yè)務正常可用。

參考文獻:

[1] 董瑞志,李必信,王璐璐,等.軟件生態(tài)系統(tǒng)研究綜述 [J].計算機學報,2020,43(2):250-271.

[2] 范鵬里.甘肅移動CRM系統(tǒng)項目優(yōu)化研究 [D].南京:南京郵電大學,2019.

[3] DANG Y,LIN Q,HUANG P. AIOps:Real-World Challenges and Research Innovations [C]//2019 IEEE/ACM 41ST INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING:COMPANION PROCEEDINGS (ICSE-COMPANION 2019).Montreal:IEEE,2019:4-5.

[4]裴丹,張圣林,裴昶華.基于機器學習的智能運維 [J].中國計算機學會通訊,2017,13(12):68-72.

[5] BRIN S,PAGE L. The anatomy of a large-scale hypertextual Web search engine [J].Computer networks,1998,30 (1-7) :107 - 117.

[6] 宋京京,潘云濤,蘇成.基于Pagerank算法的圖書影響力評價 [J].中華醫(yī)學圖書情報雜志,2015,24(12):9-14.

[7] 蔣雪梅,張少雪.基于Pagerank算法的中間品全球貿易網絡格局演變分析 [J].國際商務研究,2021,42(1):38-49.

[8] 吳柯.基于交互行為的微博用戶影響力評價研究 [D].廣州:華南理工大學,2014.

作者簡介:陳樂(1982—),男,漢族,重慶人,項目總監(jiān),碩士研究生,研究方向:AIOps、業(yè)務支撐系統(tǒng)運營支撐;紀炎明(1995—),男,漢族,廣東廣州人,項目經理,本科,研究方向:AIOps算法;肖忠良(1986—),男,漢族,廣東廣州人,項目經理,碩士研究生,研究方向:AIOps、業(yè)務支撐系統(tǒng)運營支撐。

猜你喜歡
機器學習
基于詞典與機器學習的中文微博情感分析
基于機器學習的圖像特征提取技術在圖像版權保護中的應用
基于網絡搜索數據的平遙旅游客流量預測分析
時代金融(2016年27期)2016-11-25 17:51:36
前綴字母為特征在維吾爾語文本情感分類中的研究
科教導刊(2016年26期)2016-11-15 20:19:33
下一代廣播電視網中“人工智能”的應用
活力(2016年8期)2016-11-12 17:30:08
基于支持向量機的金融數據分析研究
基于Spark的大數據計算模型
基于樸素貝葉斯算法的垃圾短信智能識別系統(tǒng)
基于圖的半監(jiān)督學習方法綜述
機器學習理論在高中自主學習中的應用
建平县| 天津市| 安平县| 信阳市| 洛阳市| 七台河市| 宝应县| 夏河县| 澄城县| 西充县| 灵璧县| 泸定县| 柘荣县| 广安市| 常山县| 习水县| 杂多县| 德化县| 固原市| 双江| 互助| 边坝县| 怀柔区| 白山市| 津南区| 元氏县| 乐都县| 綦江县| 梓潼县| 新宁县| 溧阳市| 温宿县| 商洛市| 江山市| 卓尼县| 民权县| 徐水县| 从江县| 沾益县| 白水县| 花莲县|