• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于用戶反饋檢測(cè)大型在線系統(tǒng)前臺(tái)故障的方法

    2022-07-07 02:41:52盧皓川鄭吳杰周揚(yáng)帆
    關(guān)鍵詞:前臺(tái)詞語(yǔ)方案

    盧皓川 鄭吳杰 周揚(yáng)帆 王 新

    1(復(fù)旦大學(xué)計(jì)算機(jī)科學(xué)技術(shù)學(xué)院 上海 200433) 2(上海市智能信息處理重點(diǎn)實(shí)驗(yàn)室 上海 200433)3(深圳市騰訊計(jì)算機(jī)系統(tǒng)有限公司 廣東 深圳 518000)

    0 引 言

    大型在線服務(wù)系統(tǒng)在當(dāng)今互聯(lián)網(wǎng)時(shí)代已廣泛普及,許多公司、企業(yè)均上線了大量服務(wù)于生活方方面面的大型在線系統(tǒng)(如支付寶等)[1]。這些系統(tǒng)依托于龐大的后臺(tái)大型業(yè)務(wù)系統(tǒng)來(lái)實(shí)現(xiàn)服務(wù)功能,并利用前臺(tái)復(fù)雜精巧的客戶端來(lái)為用戶實(shí)現(xiàn)對(duì)服務(wù)的接入。然而,由于系統(tǒng)的前后臺(tái)都具有很高的復(fù)雜性,并且需要頻繁的快速迭代開(kāi)發(fā),系統(tǒng)往往會(huì)出現(xiàn)多種類(lèi)型的故障,而這些故障會(huì)引發(fā)不良的用戶體驗(yàn),降低系統(tǒng)的可靠性[2]。因此,如何檢測(cè)系統(tǒng)中的故障是一個(gè)重要的任務(wù)。

    傳統(tǒng)上,為了更好地反映系統(tǒng)中存在的故障以幫助檢測(cè),許多研究及工業(yè)界方法均采用后臺(tái)指標(biāo)監(jiān)控的方式。這一方法通過(guò)根據(jù)以往運(yùn)維經(jīng)驗(yàn)預(yù)設(shè)一些與系統(tǒng)后臺(tái)相關(guān)的關(guān)鍵運(yùn)行指標(biāo)[3-4](如后臺(tái)CPU工作負(fù)荷[5]),來(lái)反映系統(tǒng)后臺(tái)的運(yùn)行狀態(tài),從而通過(guò)異常指標(biāo)表征其中存在的故障。然而,在實(shí)踐中我們發(fā)現(xiàn),系統(tǒng)的故障不僅存在于后臺(tái)業(yè)務(wù)系統(tǒng)中,同樣也會(huì)廣泛地存在于前臺(tái)界面中,這些前臺(tái)故障同樣會(huì)對(duì)用戶使用體驗(yàn)帶來(lái)嚴(yán)重的影響[6]。例如,前臺(tái)界面控件(如按鈕等)異常遮擋的故障將導(dǎo)致用戶無(wú)法正常進(jìn)行相關(guān)操作;又如前臺(tái)界面中的內(nèi)容錯(cuò)誤(如亂碼),會(huì)對(duì)用戶使用產(chǎn)生困擾和誤導(dǎo)。面對(duì)此類(lèi)故障,上述基于系統(tǒng)后臺(tái)的指標(biāo)監(jiān)控方法難以奏效,因?yàn)楹笈_(tái)相關(guān)運(yùn)行指標(biāo)難以反映前臺(tái)中的故障癥狀。更進(jìn)一步地,由于前臺(tái)故障的類(lèi)型與癥狀更為繁多且不可預(yù)知,若采用類(lèi)似方法在前臺(tái)通過(guò)經(jīng)驗(yàn)人為預(yù)設(shè)一些指標(biāo)進(jìn)行監(jiān)控,則難以達(dá)到良好的覆蓋面,許多未被事先考慮、甚至是新出現(xiàn)的前臺(tái)故障難以被預(yù)設(shè)的指標(biāo)所表征。因此綜上,這類(lèi)前臺(tái)故障尚需有效的方法對(duì)其進(jìn)行合理的監(jiān)控與檢測(cè)。

    為了解決面對(duì)前臺(tái)故障時(shí)后臺(tái)預(yù)設(shè)指標(biāo)效力不足的問(wèn)題,我們認(rèn)為隨著故障發(fā)生而動(dòng)態(tài)地構(gòu)建指標(biāo)是一個(gè)良好的方式。我們發(fā)現(xiàn),前臺(tái)故障更直接面向用戶。由于用戶為系統(tǒng)前臺(tái)最直接的使用者,他們會(huì)對(duì)其中產(chǎn)生的故障有及時(shí)的感知,因此我們將問(wèn)題轉(zhuǎn)化為從用戶的角度進(jìn)行針對(duì)于前臺(tái)故障的動(dòng)態(tài)的指標(biāo)構(gòu)建。為了避免直接使用收集用戶數(shù)據(jù)可能造成的隱私問(wèn)題,我們采用用戶反饋數(shù)據(jù)來(lái)構(gòu)建動(dòng)態(tài)指標(biāo)。我們發(fā)現(xiàn)用戶往往會(huì)對(duì)所遭遇的故障實(shí)時(shí)地提出大量的反饋(通過(guò)客戶端接口、客服、官方論壇等方式),這樣的反饋主要為文本形式,其中會(huì)包含對(duì)于故障癥狀的具體描述。因此我們可以通過(guò)設(shè)計(jì)合理的自然語(yǔ)言處理方法從中抽取出能夠表征前臺(tái)故障的指標(biāo),以便進(jìn)行對(duì)前臺(tái)故障的監(jiān)控。由于這種指標(biāo)構(gòu)建方式可以隨著不同出現(xiàn)的故障所對(duì)應(yīng)的反饋文本進(jìn)行實(shí)時(shí)抽取,因此實(shí)現(xiàn)了動(dòng)態(tài)構(gòu)建,以及對(duì)不同故障的高覆蓋率表征。

    進(jìn)一步地,通過(guò)基于用戶反饋文本的動(dòng)態(tài)的指標(biāo)構(gòu)建我們將獲得海量的針對(duì)于前臺(tái)故障的指標(biāo)。由于故障檢測(cè)的時(shí)效性十分重要,因此在海量指標(biāo)上實(shí)現(xiàn)快速的異常檢測(cè)也是一大關(guān)鍵要求。本文基于從反饋文本中構(gòu)建的指標(biāo),設(shè)計(jì)了一種兩階段的檢測(cè)算法。該方法通過(guò)一個(gè)基于規(guī)則的快速過(guò)濾粗篩,以及一個(gè)基于機(jī)器學(xué)習(xí)分類(lèi)模型的精細(xì)檢測(cè),來(lái)做到準(zhǔn)確、快速地對(duì)海量動(dòng)態(tài)指標(biāo)的實(shí)時(shí)監(jiān)控,從而實(shí)現(xiàn)對(duì)前臺(tái)故障及時(shí)的檢測(cè)。

    本文所提出的基于用戶反饋的動(dòng)態(tài)指標(biāo)構(gòu)建方法以及異常檢測(cè)方法,被實(shí)際應(yīng)用于多個(gè)真實(shí)的在線服務(wù)系統(tǒng)中,協(xié)助進(jìn)行更全面的前臺(tái)故障檢測(cè)。我們通過(guò)在實(shí)踐中收集的數(shù)據(jù)來(lái)反映該方法效益,實(shí)踐結(jié)果證明提出的方法可以達(dá)到針對(duì)前臺(tái)故障良好的檢測(cè)效果。

    本文所提出的具體貢獻(xiàn)總結(jié)如下:

    (1) 為應(yīng)對(duì)檢測(cè)系統(tǒng)前臺(tái)故障時(shí)傳統(tǒng)指標(biāo)監(jiān)控方法的局限性,我們提出了動(dòng)態(tài)構(gòu)建指標(biāo)的新方案,并開(kāi)創(chuàng)性地使用了利用用戶反饋數(shù)據(jù)來(lái)進(jìn)行指標(biāo)構(gòu)建。該方法所構(gòu)建的指標(biāo)可以針對(duì)于前臺(tái)故障實(shí)現(xiàn)更大的覆蓋面,從而更全面地表征前臺(tái)出現(xiàn)的各種類(lèi)型故障。

    (2) 為在動(dòng)態(tài)構(gòu)建的海量指標(biāo)上實(shí)現(xiàn)快速檢測(cè),我們進(jìn)一步提出了一種兩階段的異常檢測(cè)算法,該方法通過(guò)快速過(guò)濾與機(jī)器學(xué)習(xí)的結(jié)合,實(shí)現(xiàn)在海量動(dòng)態(tài)指標(biāo)上的實(shí)時(shí)異常檢測(cè),保障了故障檢測(cè)的時(shí)效性。

    (3) 將該方案制作成工具以實(shí)際服務(wù)于真實(shí)大型在線系統(tǒng)。在多個(gè)真實(shí)系統(tǒng)上部署了我們提供的技術(shù)方案用于前臺(tái)故障實(shí)時(shí)檢測(cè),實(shí)踐證明該方法可以取得良好的效果。

    1 預(yù)備知識(shí)

    1.1 大型在線服務(wù)系統(tǒng)前臺(tái)故障

    近年來(lái),許多大型的服務(wù)運(yùn)營(yíng)商均上線了大量大型在線服務(wù)系統(tǒng)開(kāi)放給公眾使用。這些系統(tǒng)均為前后臺(tái)分離的架構(gòu)[7],一方面,龐大的后臺(tái)系統(tǒng)為其業(yè)務(wù)功能提供支持,通常以上百臺(tái)云服務(wù)器的超大規(guī)模的方式進(jìn)行部署。另一方面,前臺(tái)客戶端為用戶提供了服務(wù)接入的入口,通常安裝于不同類(lèi)型的終端上。由于部署前臺(tái)的終端環(huán)境十分復(fù)雜且不可預(yù)知,可能產(chǎn)生不同的兼容性問(wèn)題,因此系統(tǒng)前臺(tái)常常產(chǎn)生前臺(tái)故障[6]。這類(lèi)前臺(tái)故障種類(lèi)和癥狀十分多樣,如亂碼、界面控件錯(cuò)亂遮擋或是部分控件無(wú)法顯示和響應(yīng)等等。圖1給出了一個(gè)應(yīng)用前臺(tái)故障的樣例,其按鈕控件被錯(cuò)誤的遮擋,且界面上出現(xiàn)了亂碼。此類(lèi)故障由于對(duì)系統(tǒng)后臺(tái)不產(chǎn)生明顯影響,因此很難由傳統(tǒng)后臺(tái)指標(biāo)監(jiān)控的方法監(jiān)控到。即使有針對(duì)于前臺(tái)預(yù)設(shè)的指標(biāo),也難以良好地覆蓋和表征各種類(lèi)型的前臺(tái)故障。然而,前臺(tái)故障在同樣系統(tǒng)用戶側(cè)均會(huì)造成較大的影響(如界面無(wú)法響應(yīng)等),從而嚴(yán)重降低系統(tǒng)可靠性,影響用戶體驗(yàn),因此它們是一類(lèi)無(wú)法忽略并且十分重要的故障問(wèn)題。所以亟需一個(gè)更全面、有效的故障檢測(cè)方案來(lái)應(yīng)對(duì)更多類(lèi)型的故障。

    圖1 大型在線服務(wù)系統(tǒng)前臺(tái)故障樣例

    1.2 用戶反饋

    大型線上系統(tǒng)通常具有海量用戶。部分應(yīng)用的日活躍用戶數(shù)量可達(dá)上億級(jí)別。由于用戶是前臺(tái)系統(tǒng)的直接使用者,會(huì)對(duì)各種前臺(tái)故障產(chǎn)生及時(shí)的感知,而這樣的故障也會(huì)在用戶群體中引起比較強(qiáng)烈的反響。用戶反饋就是反響的一種主要形式。當(dāng)用戶在使用過(guò)程中發(fā)生不良體驗(yàn)時(shí),用戶就會(huì)試圖通過(guò)多種渠道來(lái)進(jìn)行對(duì)這些不良體驗(yàn)所對(duì)應(yīng)的故障的反饋。這些渠道包括服務(wù)客戶端中自帶的反饋接口,或是系統(tǒng)官方論壇等等。由于巨大的用戶量,系統(tǒng)運(yùn)營(yíng)商每天可以收集到大量的用戶反饋,數(shù)量達(dá)到百萬(wàn)級(jí)別。這些用戶反饋都是以自然語(yǔ)言的文本為主,內(nèi)容包含了各種各樣對(duì)于系統(tǒng)故障的描述。表1是一些用戶反饋的示例。

    表1 用戶反饋示例

    1.3 故障檢測(cè)相關(guān)研究

    系統(tǒng)故障檢測(cè)是維護(hù)大型系統(tǒng)可靠性中的一個(gè)重要任務(wù),引起了許多學(xué)術(shù)界和工業(yè)界的研究。對(duì)于后臺(tái)故障,已有許多研究利用系統(tǒng)后臺(tái)預(yù)設(shè)的關(guān)鍵運(yùn)行指標(biāo)來(lái)進(jìn)行故障檢測(cè)。例如,Laptev等[8]提出了EGADS系統(tǒng),利用后臺(tái)指標(biāo)的時(shí)序信息通過(guò)多種異常檢測(cè)及趨勢(shì)預(yù)測(cè)模型組合來(lái)檢測(cè)指標(biāo)異常。Liu等[9]提出了Opprentice系統(tǒng),其面向于某一個(gè)時(shí)間窗口內(nèi)的后臺(tái)指標(biāo)采用了機(jī)器學(xué)習(xí)的分類(lèi)技術(shù)檢測(cè)異常。然而,利用預(yù)設(shè)的后臺(tái)指標(biāo)無(wú)法有效表征和定位前臺(tái)故障。前臺(tái)故障由于癥狀繁多且復(fù)雜,目前研究方法僅針對(duì)了其中部分故障類(lèi)型提出了解決方案,如Wang等[10]提出利用卷積神經(jīng)網(wǎng)絡(luò)技術(shù)識(shí)別前臺(tái)界面中產(chǎn)生的文字堆疊故障。而本文利用用戶反饋進(jìn)行的動(dòng)態(tài)指標(biāo)構(gòu)建與監(jiān)控方案,不僅可以有效應(yīng)對(duì)前臺(tái)故障,更可以實(shí)現(xiàn)各種故障類(lèi)型的全面覆蓋。

    用戶反饋數(shù)據(jù)在過(guò)去的研究中也體現(xiàn)出了對(duì)于推動(dòng)軟件的開(kāi)發(fā)、迭代和維護(hù)的重要價(jià)值。例如,Di Sorbo等[12]提出利用主題模型總結(jié)用戶反饋中的關(guān)鍵用戶需求來(lái)輔助軟件迭代。Vu等[13]提出基于短語(yǔ)的聚類(lèi)機(jī)制來(lái)分析App市場(chǎng)中的用戶評(píng)價(jià),從而分析App的優(yōu)缺點(diǎn)。Gao等[14]提出了IDEA工具,同樣利用主題模型分析歷史上所有的用戶反饋,從中發(fā)現(xiàn)與系統(tǒng)故障相關(guān)的主題內(nèi)容。然而,以上方法只可將歷史上的用戶反饋視為一個(gè)靜態(tài)的數(shù)據(jù)進(jìn)行分析,無(wú)法做到基于用戶反饋進(jìn)行動(dòng)態(tài)的故障檢測(cè)。同時(shí),以上方法都需要基于復(fù)雜的自然語(yǔ)言模型算法,其面對(duì)海量反饋文本的時(shí)候難以快速地得到分析結(jié)果。因此,這些工作無(wú)法有效勝任實(shí)時(shí)的系統(tǒng)故障檢測(cè)任務(wù)。

    2 方案架構(gòu)

    本文所提出的基于用戶反饋進(jìn)行前臺(tái)故障檢測(cè)的技術(shù)方案整體流程架構(gòu)如圖2所示??梢钥吹?,該方案主要分為兩個(gè)部分:(1) 前臺(tái)系統(tǒng)關(guān)鍵指標(biāo)構(gòu)建階段以及(2) 指標(biāo)異常分析檢測(cè)階段。

    (1) 前臺(tái)系統(tǒng)關(guān)鍵指標(biāo)構(gòu)建階段 (2) 指標(biāo)異常分析檢測(cè)階段圖2 基于用戶反饋的前臺(tái)故障檢測(cè)方案整體流程架構(gòu)

    在第一部分中,我們先通過(guò)對(duì)反饋文本進(jìn)行詞語(yǔ)抽取,來(lái)形成監(jiān)控指標(biāo)的定義;并進(jìn)一步對(duì)這些指標(biāo)的監(jiān)控值進(jìn)行量化和收集,從而構(gòu)建出海量針對(duì)前臺(tái)故障的監(jiān)控指標(biāo)。通過(guò)反饋文本抽取的指標(biāo)定義實(shí)現(xiàn)了對(duì)不同故障癥狀的覆蓋,而對(duì)監(jiān)控值的收集可以形成指標(biāo)趨勢(shì)從而進(jìn)行異常檢測(cè)。

    在第二部分中,我們提出了兩階段的異常檢測(cè)算法來(lái)對(duì)前一部分中構(gòu)建的海量指標(biāo)進(jìn)行檢測(cè)。首先我們通過(guò)一個(gè)基于規(guī)則的快速過(guò)濾,找到具有潛在異常風(fēng)險(xiǎn)的部分指標(biāo);進(jìn)而再對(duì)這些指標(biāo)進(jìn)行基于機(jī)器學(xué)習(xí)的精細(xì)檢測(cè),從而精確找到其中包含異常的指標(biāo)。在第一階段中我們快速過(guò)濾掉了絕大部分不包含異常的指標(biāo),極大地減少了第二階段精細(xì)檢測(cè)的工作量,從而實(shí)現(xiàn)了快速、實(shí)時(shí)的故障檢測(cè)。

    兩部分設(shè)計(jì)中涉及到的關(guān)鍵技術(shù)點(diǎn)為:文本指標(biāo)抽取及量化和兩階段異常檢測(cè)算法。

    3 技術(shù)細(xì)節(jié)

    3.1 指標(biāo)構(gòu)建

    (1) 指標(biāo)內(nèi)涵定義。我們通過(guò)對(duì)用戶反饋文本進(jìn)行處理來(lái)構(gòu)建指標(biāo)的定義。圖3展示了這一文本處理過(guò)程。首先,通過(guò)jieba分詞技術(shù)[15]對(duì)文本進(jìn)行分詞處理。進(jìn)一步地,通過(guò)構(gòu)建常用的停用詞表,過(guò)濾掉部分無(wú)關(guān)的停用詞。這一步操作使得我們可以分離出反饋中與故障描述相關(guān)的元素。接下來(lái),將分離出的詞語(yǔ)進(jìn)行兩兩組合,將每一對(duì)組合作為一個(gè)指標(biāo)的定義。我們將通過(guò)這一構(gòu)建方法得到的指標(biāo)稱為“詞語(yǔ)組合指標(biāo)”。

    圖3 文本處理構(gòu)建指標(biāo)內(nèi)涵定義過(guò)程

    構(gòu)建詞語(yǔ)組合指標(biāo)有以下幾個(gè)方面的優(yōu)點(diǎn):首先,詞語(yǔ)組合可以提供更多的語(yǔ)義描述信息,例如,“[圖片,加載]”這樣的指標(biāo)可以表征前臺(tái)在圖片顯示方面的故障;“[按鈕,覆蓋]”這樣的指標(biāo)可以體現(xiàn)前臺(tái)界面上出現(xiàn)控件重疊的故障。也正是由于用戶反饋往往是以短句、短文本的形式呈現(xiàn)的,采用其中詞語(yǔ)組合即可對(duì)句子的核心語(yǔ)義有比較好的表征。因此,詞語(yǔ)組合指標(biāo)這種構(gòu)建方式在語(yǔ)義保留方面是有優(yōu)勢(shì)的。

    其次,詞語(yǔ)組合指標(biāo)的設(shè)計(jì)同樣實(shí)現(xiàn)了對(duì)多種故障類(lèi)型的大范圍覆蓋。通過(guò)兩兩詞語(yǔ)組合,我們能迅速構(gòu)建出極其海量的指標(biāo)(可達(dá)到十億級(jí)別)。我們可以在其中找到關(guān)于各種類(lèi)型、癥狀的故障進(jìn)行表征的指標(biāo),并且可以做到非常細(xì)的覆蓋粒度。相比于基于主題模型的直接主題聚類(lèi)的方法,利用這種海量、細(xì)粒度的指標(biāo)進(jìn)行基于指標(biāo)的異常檢測(cè)分析可以更有效地精確區(qū)分相似但不同的故障。

    最后,構(gòu)建詞語(yǔ)組合指標(biāo)比使用復(fù)雜的自然語(yǔ)言處理算法模型更加高效。由于該構(gòu)建方法僅需要簡(jiǎn)單的詞語(yǔ)切分和詞語(yǔ)組合過(guò)程,因此可以在非常短的時(shí)間內(nèi)完成對(duì)海量反饋文本的處理。而形成的海量指標(biāo)可以利用底層數(shù)據(jù)庫(kù)系統(tǒng)加以維護(hù),從而實(shí)現(xiàn)良好的存儲(chǔ)和管理。而復(fù)雜自然語(yǔ)言處理模型則對(duì)于單個(gè)文本需要很長(zhǎng)的處理時(shí)間,無(wú)法實(shí)時(shí)在海量反饋文本中完成分析。

    (2) 指標(biāo)量化。當(dāng)通過(guò)詞語(yǔ)組合完成指標(biāo)的定義后,我們進(jìn)一步收集與指標(biāo)相關(guān)的數(shù)據(jù),從而量化指標(biāo)用于監(jiān)控的數(shù)值。我們使用每個(gè)指標(biāo)中詞語(yǔ)組合在每小時(shí)內(nèi)所有反饋文本中的出現(xiàn)頻數(shù)作為其指標(biāo)監(jiān)控值。例如,“[菜單,遮擋]”這一詞語(yǔ)組合在某日18:00至19:00這1小時(shí)內(nèi)所有反饋文本中出現(xiàn)5次,則其這1小時(shí)的指標(biāo)監(jiān)控值即為5。值得注意的是,這樣的指標(biāo)監(jiān)控值統(tǒng)計(jì)起來(lái)是非常迅速的,只需在對(duì)每個(gè)文本分詞并構(gòu)建詞語(yǔ)組合指標(biāo)的同時(shí),在數(shù)據(jù)庫(kù)中查詢,若已存在該指標(biāo)的索引,則在該指標(biāo)的在當(dāng)前時(shí)間戳下對(duì)其頻數(shù)進(jìn)行累加統(tǒng)計(jì),若沒(méi)有這一指標(biāo)索引,則新建這一指標(biāo)索引,并且初始化其當(dāng)前時(shí)間的指標(biāo)值為1,作為后續(xù)累加的基礎(chǔ)。這樣一來(lái),隨著時(shí)間的進(jìn)行,詞語(yǔ)組合指標(biāo)在每小時(shí)的監(jiān)控值會(huì)形成一個(gè)時(shí)間序列趨勢(shì),我們將它稱為“歷史頻數(shù)趨勢(shì)”。圖4給出了一個(gè)歷史頻數(shù)趨勢(shì)的樣例。

    圖4 指標(biāo)對(duì)應(yīng)歷史頻數(shù)趨勢(shì)樣例

    從上述的定義可以看出,每一個(gè)詞語(yǔ)組合指標(biāo)都將對(duì)應(yīng)著一個(gè)專屬于它的歷史頻數(shù)趨勢(shì)。每一個(gè)指標(biāo)的趨勢(shì)曲線都可以體現(xiàn)出其對(duì)應(yīng)詞語(yǔ)組合在某個(gè)時(shí)間區(qū)間內(nèi)的出現(xiàn)次數(shù)的頻數(shù)變化。我們進(jìn)而就可以根據(jù)這樣的趨勢(shì)曲線分析出其中異常的變化趨勢(shì),從而發(fā)現(xiàn)其對(duì)應(yīng)詞語(yǔ)描述的嚴(yán)重系統(tǒng)故障。

    3.2 異常檢測(cè)

    (1) 快速規(guī)則過(guò)濾。由于基于詞語(yǔ)組合生成的指標(biāo)數(shù)量龐大,可達(dá)上千萬(wàn)級(jí)別,直接對(duì)每個(gè)指標(biāo)都進(jìn)行復(fù)雜的機(jī)器學(xué)習(xí)異常檢測(cè)所需要的開(kāi)銷(xiāo)是無(wú)法承受的。因此,我們首先設(shè)計(jì)了一個(gè)快速過(guò)濾機(jī)制,利用規(guī)則對(duì)指標(biāo)進(jìn)行篩選,選擇出少部分具有潛在異常風(fēng)險(xiǎn)的指標(biāo)。通過(guò)這一方式,我們大大地減少了后續(xù)機(jī)器學(xué)習(xí)精確檢測(cè)的處理量,為實(shí)現(xiàn)實(shí)時(shí)異常檢測(cè)奠定了基礎(chǔ)。

    這一過(guò)濾方式所基于的規(guī)則介紹如下:對(duì)于一個(gè)詞語(yǔ)組合指標(biāo)I及其對(duì)應(yīng)的歷史頻數(shù)趨勢(shì)HI,在t時(shí)刻時(shí),我們?cè)O(shè)計(jì)邏輯函數(shù)Rem(I,t)來(lái)決定當(dāng)前時(shí)刻這一指標(biāo)是否被留下,即篩選為潛在異常風(fēng)險(xiǎn)的指標(biāo)。這一函數(shù)的定義如下:

    (1)

    由式(1)可見(jiàn),當(dāng)兩方面條件同時(shí)被滿足時(shí),這一指標(biāo)將被留下作為具有隱含故障可能性的候選指標(biāo),以待后續(xù)更精確的檢測(cè)判斷。若任意一個(gè)條件不滿足,該指標(biāo)將被視為正常而過(guò)濾。該過(guò)濾策略具有較好的可控性和合理性。

    這樣的過(guò)濾對(duì)于后續(xù)異常檢測(cè)工作量的減少是十分有效的。一方面,這一過(guò)濾手段僅僅基于直接的數(shù)值計(jì)算和比較,可以通過(guò)底層簡(jiǎn)單的數(shù)據(jù)庫(kù)查詢實(shí)現(xiàn)。另一方面,根據(jù)統(tǒng)計(jì)顯示,在一周的利用反饋數(shù)據(jù)做異常檢驗(yàn)的過(guò)程中共能產(chǎn)生千萬(wàn)級(jí)別的詞語(yǔ)組合指標(biāo),而經(jīng)過(guò)這一階段的過(guò)濾后,僅留下了數(shù)萬(wàn)個(gè)具有潛在風(fēng)險(xiǎn)的詞語(yǔ)組合指標(biāo)以供后續(xù)分析。因而這一過(guò)濾階段減少了超過(guò)99.9%的工作開(kāi)銷(xiāo),成為實(shí)現(xiàn)檢測(cè)實(shí)時(shí)性的關(guān)鍵。

    (2) 機(jī)器學(xué)習(xí)檢測(cè)。通過(guò)上一過(guò)濾步驟獲得了少量具有潛在風(fēng)險(xiǎn)的指標(biāo),我們進(jìn)一步利用精細(xì)的機(jī)器學(xué)習(xí)算法對(duì)其中真正具有異常的指標(biāo)進(jìn)行檢測(cè)。首先對(duì)這些指標(biāo)進(jìn)行了特征抽取。特征包含兩個(gè)方面,一是時(shí)間趨勢(shì)特征,我們將這些指標(biāo)的過(guò)去7天及過(guò)去24小時(shí)內(nèi)的趨勢(shì)監(jiān)控值進(jìn)行了提取,并計(jì)算平均數(shù)、方差等統(tǒng)計(jì)值,作為不同的特征維度。另一方面的特征為文本特征,我們利用詞袋模型的Jaccard距離計(jì)算了當(dāng)前這一小時(shí)內(nèi)與該指標(biāo)詞語(yǔ)組合相關(guān)的反饋文本的文本多樣性,并將這一值作為特征之一。我們認(rèn)為當(dāng)出現(xiàn)故障時(shí),用戶的反饋會(huì)集中在這一故障的描述上,因此會(huì)有較低的文本多樣性。綜合這兩方面的特征,構(gòu)建出了對(duì)于每個(gè)指標(biāo)的特征向量。

    進(jìn)一步利用XGBoost模型[16]來(lái)對(duì)這些特征向量進(jìn)行分類(lèi),來(lái)識(shí)別每一個(gè)指標(biāo)是否屬于異常。我們事先通過(guò)部分人工標(biāo)注了千余條數(shù)據(jù)來(lái)進(jìn)行訓(xùn)練,來(lái)獲得具備識(shí)別功能的模型。這一標(biāo)注過(guò)程引入了專家經(jīng)驗(yàn)來(lái)指導(dǎo)模型識(shí)別,使得這一檢測(cè)過(guò)程更為精確。

    通過(guò)以上方式,我們利用機(jī)器學(xué)習(xí)算法精確識(shí)別出了存在異常的指標(biāo),而這些指標(biāo)對(duì)應(yīng)著系統(tǒng)存在的故障。可以將這些異常指標(biāo)根據(jù)指標(biāo)詞語(yǔ)之間的相似性進(jìn)行歸類(lèi),從而具體匯總出其中的故障。這樣,該方案就完成了利用用戶反饋對(duì)前臺(tái)故障進(jìn)行實(shí)時(shí)檢測(cè)的過(guò)程。

    4 實(shí)驗(yàn)測(cè)試

    4.1 實(shí)驗(yàn)環(huán)境及目標(biāo)

    本文提出的基于用戶反饋的前臺(tái)故障檢測(cè)方法被真實(shí)地應(yīng)用在多個(gè)大型線上服務(wù)系統(tǒng)中進(jìn)行輔助性故障檢測(cè),這些系統(tǒng)包括某社交媒體應(yīng)用、某企業(yè)辦公應(yīng)用、某游戲運(yùn)營(yíng)平臺(tái)、某日常娛樂(lè)類(lèi)應(yīng)用、某資訊類(lèi)應(yīng)用等。這些線上服務(wù)系統(tǒng)均在各大終端平臺(tái)上有不同的前臺(tái)客戶端,并時(shí)常有頻繁的更新和迭代,因此,這些在線服務(wù)系統(tǒng)對(duì)于前臺(tái)故障的監(jiān)控有著明顯的需求。

    另一方面,由于這些系統(tǒng)均擁有大量的用戶群體,這些用戶每日可以提供大量的用戶反饋數(shù)據(jù)來(lái)作為分析的數(shù)據(jù)源。根據(jù)統(tǒng)計(jì),這些服務(wù)每日收集到的反饋量可以達(dá)到兩百萬(wàn)條,其歷史反饋數(shù)據(jù)總量已達(dá)到上百GB。這樣豐富的反饋數(shù)據(jù)為本文提出方法的有效使用提供了有利條件。

    作為一個(gè)檢測(cè)前臺(tái)故障的技術(shù)方案,本實(shí)驗(yàn)的主要目的為檢測(cè)其檢測(cè)故障的準(zhǔn)確率、以及對(duì)嚴(yán)重故障的召回率。此外,我們還對(duì)比了該方案與傳統(tǒng)上已人工方式檢測(cè)前臺(tái)故障之間的效果差異,從而體現(xiàn)該方案的效能。

    4.2 檢測(cè)準(zhǔn)確率

    準(zhǔn)確率是考察該方法檢測(cè)出的所有故障中,對(duì)應(yīng)著真實(shí)出現(xiàn)的故障的比例。檢測(cè)準(zhǔn)確率體現(xiàn)了一個(gè)故障檢測(cè)方案是否可以精確地對(duì)真實(shí)故障進(jìn)行報(bào)警,避免誤報(bào)的產(chǎn)生。

    為了驗(yàn)證準(zhǔn)確率,我們對(duì)于檢測(cè)出的故障進(jìn)行了人工審查,從而確認(rèn)檢測(cè)到的故障中正確發(fā)現(xiàn)故障的數(shù)量以及誤報(bào)故障的數(shù)量。我們從兩個(gè)維度進(jìn)行了實(shí)驗(yàn)來(lái)評(píng)估本文方案檢測(cè)故障的準(zhǔn)確率。一方面,以不同的服務(wù)系統(tǒng)為維度,研究在多種服務(wù)應(yīng)用中,該方案進(jìn)行故障檢測(cè)的準(zhǔn)確性表現(xiàn)。這一維度主要驗(yàn)證該方案在不同的服務(wù)系統(tǒng)場(chǎng)景下,是否均具有良好的通用表現(xiàn)。我們采用了前文所述部署該方案的五個(gè)服務(wù)系統(tǒng)(即社交媒體應(yīng)用、企業(yè)辦公應(yīng)用、游戲運(yùn)營(yíng)平臺(tái)、日常娛樂(lè)應(yīng)用、資訊應(yīng)用)為實(shí)驗(yàn)對(duì)象,統(tǒng)計(jì)了這些應(yīng)用在一個(gè)月內(nèi)各自被檢測(cè)出的所有前臺(tái)故障數(shù)量,并通過(guò)人工標(biāo)注獲得正確對(duì)應(yīng)真實(shí)故障的檢測(cè)數(shù)量,進(jìn)而計(jì)算出準(zhǔn)確率。實(shí)驗(yàn)結(jié)果數(shù)據(jù)如表2所示。

    表2 不同應(yīng)用系統(tǒng)中故障檢測(cè)準(zhǔn)確率

    可以看到,該故障檢測(cè)方案在不同應(yīng)用上總體可以達(dá)到比較良好的檢測(cè)準(zhǔn)確率,均達(dá)到70%及以上水平,在某些應(yīng)用中甚至可以達(dá)到90%以上或更高。注意這一檢測(cè)是從上百萬(wàn)用戶反饋中進(jìn)行的有效篩選而得出的數(shù)十個(gè)乃至數(shù)個(gè)故障檢測(cè),因此這樣的準(zhǔn)確率已經(jīng)可以達(dá)到滿意的水平,開(kāi)發(fā)者可以以此檢測(cè)結(jié)果為依據(jù)在一個(gè)很小的范圍內(nèi)精確、高概率地定位真實(shí)故障。

    另一方面,我們以時(shí)間為維度,研究該方案在一個(gè)較長(zhǎng)的時(shí)間過(guò)程中是否能持續(xù)保持良好的檢測(cè)準(zhǔn)確性。我們收集了在五個(gè)月內(nèi)在上述應(yīng)用中的故障檢測(cè)情況及其人工審查結(jié)果,并統(tǒng)計(jì)其準(zhǔn)確率,結(jié)果如表3所示。

    表3 不同時(shí)間內(nèi)故障檢測(cè)準(zhǔn)確率

    可以看出,該方案在幾個(gè)月內(nèi)的綜合準(zhǔn)確率表現(xiàn)相當(dāng)穩(wěn)定,準(zhǔn)確率均能保持在70%左右的水平。這體現(xiàn)了該方案可以應(yīng)對(duì)不同時(shí)期出現(xiàn)的不同反饋描述內(nèi)容,在長(zhǎng)期運(yùn)維任務(wù)中也能做到良好的表現(xiàn)。

    綜上所述,在本文提出的基于用戶反饋進(jìn)行前臺(tái)故障檢測(cè)的方案在檢測(cè)準(zhǔn)確率方面具備良好的效果。

    4.3 檢測(cè)召回率

    召回率考察的是系統(tǒng)出現(xiàn)的所有故障中,被該故障檢測(cè)方案檢測(cè)到的故障數(shù)量。召回率體現(xiàn)了故障檢測(cè)是否可以將各種出現(xiàn)的故障均覆蓋到,避免漏報(bào)。

    在這些服務(wù)系統(tǒng)中,有專門(mén)通過(guò)人工測(cè)試的方法前臺(tái)故障進(jìn)行的收集。這些故障都是真實(shí)存在且經(jīng)過(guò)審核的。我們以這些故障為基礎(chǔ),來(lái)考察本文提出的檢測(cè)方法是否能夠高覆蓋率地檢測(cè)到這些故障。表4展示了一周以內(nèi)所有人工驗(yàn)證到的故障數(shù)量及其被該方案檢測(cè)到的數(shù)量和比例。

    表4 人工驗(yàn)證故障的召回率

    可以看到,本文方案這批故障有著非常高的召回率(>90%),并且僅有非常少的故障被遺漏。這體現(xiàn)了該方案對(duì)于故障良好的覆蓋面,具有良好的召回表現(xiàn)。更進(jìn)一步地,隨著數(shù)據(jù)的積累,我們事后可以使用更多的標(biāo)注數(shù)據(jù)進(jìn)一步訓(xùn)練異常檢測(cè)模型,使得模型的檢測(cè)能力更強(qiáng)。被遺漏的故障也都在模型進(jìn)一步訓(xùn)練后可以被檢測(cè)出。因此,本文提出的基于用戶反饋的故障檢測(cè)方案可以實(shí)現(xiàn)全面、高覆蓋的前臺(tái)故障檢測(cè)。

    4.4 效益對(duì)比

    為了更好地體現(xiàn)本文提出檢測(cè)方案的效益,我們進(jìn)一步將對(duì)比了本文提出的檢測(cè)方案與前文提到的人力測(cè)試檢測(cè)發(fā)現(xiàn)前臺(tái)故障的能力。由于前臺(tái)故障種類(lèi)繁多且不可預(yù)知,在以往的運(yùn)維方式中人力檢測(cè)是一個(gè)尚能奏效的傳統(tǒng)方法。而由于本文提出的方案具有不同的檢測(cè)方式,使得它具有更全面的對(duì)故障的覆蓋能力,同時(shí)它可以自動(dòng)化執(zhí)行檢測(cè)流程,也比人力檢測(cè)更為高效。因此,該方案可以發(fā)現(xiàn)很多傳統(tǒng)人力前臺(tái)故障檢測(cè)中難以發(fā)現(xiàn)的故障。圖5展示了一組數(shù)據(jù),展示了在該方案一個(gè)月檢測(cè)出的故障中,未被傳統(tǒng)人力方法檢測(cè)出,以及比傳統(tǒng)人力方法更快檢測(cè)出的占比。

    圖5 基于用戶反饋檢測(cè)故障與傳統(tǒng)人力檢測(cè)對(duì)比情況

    從這組數(shù)據(jù)中可以發(fā)現(xiàn),在所有被本文提出方案檢測(cè)到的故障中,有超過(guò)四分之一是沒(méi)有被傳統(tǒng)人力檢測(cè)發(fā)現(xiàn)的故障,這體現(xiàn)了該方案發(fā)現(xiàn)并覆蓋多種類(lèi)型前臺(tái)故障顯著的效果,對(duì)于更全面的故障檢測(cè)具有明顯價(jià)值。更進(jìn)一步地,在其他可以同時(shí)由本文提出方案與傳統(tǒng)人力檢測(cè)到的故障中,有接近一半的故障是由該方案更快檢測(cè)出的,說(shuō)明該方案檢測(cè)前臺(tái)故障方面具有良好的實(shí)時(shí)性與時(shí)效性,可以獲得更好檢測(cè)效果。

    5 結(jié) 語(yǔ)

    大型線上服務(wù)系統(tǒng)中頻繁出現(xiàn)前臺(tái)故障問(wèn)題。此類(lèi)故障區(qū)別于后臺(tái)故障,其種類(lèi)繁多、癥狀復(fù)雜且不可預(yù)知,因此無(wú)法通過(guò)傳統(tǒng)的預(yù)設(shè)后臺(tái)指標(biāo)監(jiān)控來(lái)檢測(cè)出。本文提出了基于用戶反饋文本動(dòng)態(tài)構(gòu)建指標(biāo)的方式,巧妙地將無(wú)法有效檢測(cè)前臺(tái)故障從用戶體驗(yàn)反饋中挖掘出來(lái)。本文提出了利用抽取反饋文本中詞語(yǔ)組合構(gòu)建動(dòng)態(tài)指標(biāo)的設(shè)計(jì),這種動(dòng)態(tài)指標(biāo)實(shí)現(xiàn)了對(duì)各種故障類(lèi)型的描述和覆蓋。進(jìn)一步地,本文針對(duì)于構(gòu)建的海量指標(biāo)設(shè)計(jì)了特制的兩階段檢測(cè)算法,實(shí)現(xiàn)對(duì)指標(biāo)中存在的異常進(jìn)行快速的檢測(cè),并通過(guò)異常指標(biāo)表征了存在的前臺(tái)故障。這一整體方案可以良好地檢測(cè)多種類(lèi)型的前臺(tái)故障,其被實(shí)際應(yīng)用于多個(gè)真實(shí)的在線服務(wù)系統(tǒng)中,并獲得了實(shí)時(shí)、有效的故障檢測(cè)效果。該方法為實(shí)際系統(tǒng)中的故障檢測(cè)提供了新的思路和方案,作出了創(chuàng)新性貢獻(xiàn)。

    猜你喜歡
    前臺(tái)詞語(yǔ)方案
    容易混淆的詞語(yǔ)
    爛臉了急救方案
    好日子(2022年3期)2022-06-01 06:22:30
    找詞語(yǔ)
    公路電助力 從幕后走向前臺(tái)
    孟晚舟:從前臺(tái)打雜到華為副總裁
    海峽姐妹(2018年6期)2018-06-26 07:27:15
    定邊:一份群眾滿意的“脫貧答卷” 一種提供借鑒的“扶貧方案”
    詞語(yǔ)欣賞
    前臺(tái)、后臺(tái)精彩花絮停不了
    網(wǎng)站前臺(tái)設(shè)計(jì)分包合同中應(yīng)注意的問(wèn)題
    一枚詞語(yǔ)一門(mén)靜
    犍为县| 安泽县| 龙州县| 尚义县| 新蔡县| 鄂托克前旗| 山阴县| 宜宾县| 大方县| 红安县| 聂拉木县| 北川| 仁寿县| 都江堰市| 陈巴尔虎旗| 灵璧县| 正阳县| 阳城县| 鹤庆县| 濉溪县| 肇源县| 桃园市| 湛江市| 郑州市| 石城县| 同仁县| 玉溪市| 南开区| 武鸣县| 峨边| 华安县| 富蕴县| 柳河县| 桦南县| 正蓝旗| 乌苏市| 太保市| 牟定县| 广水市| 神木县| 吴旗县|