使用搜索技術(shù)的計算機性能預測的制作方法
【專利摘要】計算機監(jiān)控系統(tǒng)可通過比較當前時間序列數(shù)據(jù)的片段與之前觀測到的時間序列片段來尋找匹配片段來預測短期和長期的性能。根據(jù)匹配的片段,可以通過檢查時間序列中的稍后的觀測來作出性能預測。每個時間序列元素可包括大量參數(shù),并且一種用于比較片段的機制可將這些元素作為多維向量來處理并使用余弦相似性來找出顯著匹配。部署機制可將時間序列片段存儲在一個可搜索的數(shù)據(jù)庫中,并用新觀測到的時間序列片段來搜索數(shù)據(jù)庫以找出匹配。
【專利說明】使用搜索技術(shù)的計算機性能預測
[0001]相關(guān)申請的交叉引用
[0002]本申請要求題為“Computer Performance Predict1n Using SearchTechnologies”(使用搜索技術(shù)的計算機性能預測)的美國專利申請序列號61/930,923、題為“Event Predict1n Using Historical Time Series Observat1ns of a ComputerApplicat1n”(使用計算機應(yīng)用的歷史時間系列觀測的事件預測)的美國專利申請序列號6 I/930,926、題為 “V i sua I i zat i on of Behav1r Clustering of ComputerApplicat1ns”(計算機應(yīng)用的表現(xiàn)聚合的可視化)的美國專利申請序列號61/930 ,928、以及題為“Behav1r Clustering Analysis and Alerting System for ComputerApplicat1ns”(計算機應(yīng)用的行為聚合分析和提醒系統(tǒng))的美國專利申請序列號61/930,929的優(yōu)先權(quán)和權(quán)益,所有這些申請被通過引用所有它們公開和教示的內(nèi)容而明確合并與此。
[0003]背景
[0004]計算機監(jiān)控是一個寬泛的領(lǐng)域,其可包括任何類型的狀態(tài)報告、提醒、或可幫助維護生產(chǎn)計算機系統(tǒng)的其它管理工具。計算機監(jiān)控可包括硬件狀態(tài)和性能、網(wǎng)絡(luò)監(jiān)控、軟件性能分析、和許多其它組件。
[0005]傳統(tǒng)的監(jiān)控系統(tǒng)可實時或近實時地評估數(shù)據(jù)并將那些數(shù)據(jù)與閾值、限值、或其它度量作比較以確定是否可能存在錯誤或提醒條件。當警報被觸發(fā)時,可向管理人員發(fā)出一些訊息,該管理人員可采取糾正動作。這樣的系統(tǒng)往往是反應(yīng)性的,并且能夠檢測到何時已發(fā)生問題。
[0006]概述
[0007]計算機監(jiān)控系統(tǒng)可通過比較當前時間序列數(shù)據(jù)的片段與之前觀測到的時間序列片段來尋找匹配片段來預測短期和長期的性能。根據(jù)匹配的片段,可以通過檢查時間序列中的稍后的觀測來作出性能預測。每個時間序列元素可包括大量參數(shù),并且一種用于比較片段的機制可將這些元素作為多維向量來處理并使用余弦相似性來找出顯著匹配。部署機制可將時間序列片段存儲在一個可搜索的數(shù)據(jù)庫中,并用新觀測到的時間序列片段來搜索數(shù)據(jù)庫以找出匹配。
[0008]監(jiān)控系統(tǒng)可以將當前觀測到的時間序列片段與可能是事件的前兆的之前標識的時間序列片段作比較。當觀測到時間序列片段之間的相關(guān)性時,事件可被預測。事件可由觀測人員來標識,該觀測人員可標識事件或?qū)κ录M行分類。在一些情況下,可通過觀測異常表現(xiàn)并自動標識該表現(xiàn)來標識事件。監(jiān)控系統(tǒng)可以從相同或不同的執(zhí)行平臺上的相同的應(yīng)用程序的多次運行、相同或不同的執(zhí)行平臺上的類似應(yīng)用、類似或不同用戶、或相同或不同的執(zhí)行平臺上的任何其它應(yīng)用中聚合觀測到的時間序列。被標識的事件可被組織為一組可被應(yīng)用于新的應(yīng)用來基于對其它應(yīng)用的觀測來預測事件的事件。
[0009]可以針對計算機應(yīng)用的性能觀測的時間序列來執(zhí)行降維(諸如主要成分分析)。結(jié)果的可視化表示可以一維、二維、或三維來顯示,并且常常示出操作表現(xiàn)的聚類。表示可能被動畫化以示出觀測的序列以及應(yīng)用的表現(xiàn)可如何從一個操作聚類改變?yōu)榱硪粋€。表示可被進一步應(yīng)用以同時示出觀測的歷史視圖以及新的觀測。時間序列可包含性能和操作數(shù)據(jù),以及從計算機應(yīng)用中觀測到的元數(shù)據(jù)。
[0010]降維(諸如主要成分分析)可被用于至少部分地生成計算機應(yīng)用的時間序列觀測的模型。該模型可被應(yīng)用于當前和預測的觀測。可以通過針對該模型分析那些觀測來從當前或預測的觀測中標識反常值,并且統(tǒng)計上相關(guān)的反常值可生成警報或要采取的糾正或其它動作??赏ㄟ^搜索可能之前觀測到過的類似的反常值、并且基于過去的類似觀測來預測任何將來的事件來分析反常值。
[0011]提供本概述以便以簡化的形式介紹以下在詳細描述中進一步描述的一些概念。本
【發(fā)明內(nèi)容】
并不旨在標識所要求保護主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護主題的范圍。
[0012]附圖簡述
[0013]在附圖中,
[0014]圖1是示出用于通過對歷史時間序列的分析來預測事件的方法的實施例的圖示。
[0015]圖2是示出具有可在被跟蹤應(yīng)用中預測性能和事件的設(shè)備的網(wǎng)絡(luò)環(huán)境的實施例的圖示。
[0016]圖3是示出具有多個跟蹤點的散布式應(yīng)用的實施例的圖示。
[0017]圖4是示出用于收集跟蹤器數(shù)據(jù)的方法的實施例的時間線圖。
[0018]圖5是示出用于預測時間序列和事件的方法的實施例的時間線圖。
[0019]圖6是示出用于預測時間序列的方法的實施例的流程圖示。
[0020]圖7是示出用于生成給定事件的前兆時間序列片段的方法的實施例的圖示。
[0021]圖8是示出用于標識事件的前兆的方法的實施例的流程圖示。
[0022]圖9是示出用于使用前兆來預測事件的方法的實施例的流程圖示。
[0023]圖10是示出用于對跟蹤器數(shù)據(jù)進行主要成分分析的方法的實施例的圖示。
[0024]圖11是示出用于對跟蹤器數(shù)據(jù)應(yīng)用主要成分分析的方法的實施例的流程圖示。
[0025]圖12是示出用于使用主要成分分析來檢測異常和反常值的方法的實施例的流程圖示。
[0026]詳細描述
[0027]使用對歷史觀察的搜索的預測監(jiān)控系統(tǒng)。
[0028]計算機監(jiān)控系統(tǒng)可以根據(jù)可搜索的之前觀測的數(shù)據(jù)庫來作出對于應(yīng)用的表現(xiàn)的統(tǒng)計上有效的預測。觀測可包含的性能和操作觀測,其可以是時間序列的形式??赏ㄟ^選擇當前觀測,隨后在觀測的數(shù)據(jù)庫中搜索匹配的觀測,找到匹配,以及尋找該匹配的歷史觀測下游的事件或其它異常來作出預測。
[0029]預測可僅僅是性能或操作估計,或者可能標識可能是有趣的事件或異常。性能或操作估計可預測將來可能被觀測到的觀測。這樣的預測可以各種可視化來顯示,用于負載管理或其它用途。預測的事件或異??杀挥脕韺е略谑录安扇〉募m正動作。
[0030]觀測的數(shù)據(jù)庫可包括時間序列數(shù)據(jù),其中每個觀測可以是一系列觀測的一部分。觀測可包括應(yīng)用的操作和性能數(shù)據(jù)。操作數(shù)據(jù)可包括如函數(shù)可能已被調(diào)用的次數(shù)或者操作可能已被執(zhí)行的次數(shù)之類的項。性能數(shù)據(jù)可包括諸如存儲器或其它資源消耗的量或?qū)τ谳斎氲捻憫?yīng)時間之類的項。
[0031]觀測可作為一個整體反映應(yīng)用或設(shè)備的操作,其中到應(yīng)用或設(shè)備的輸入及其對那些輸入的響應(yīng)可被觀測和存儲。在一些情況下,觀測可包括應(yīng)用或設(shè)備的更細粒度的視圖,其中應(yīng)用或設(shè)備內(nèi)的各個單個功能或操作可被觀測。在又一些情況下,單一的觀測可反映一組設(shè)備的操作和性能,這組設(shè)備可以是多個同構(gòu)或異構(gòu)的設(shè)備。
[0032]存儲在數(shù)據(jù)庫中的觀測可以是各個觀測的聚合。例如,數(shù)據(jù)庫可包含針對一個特定的時間間隔的聚合的觀測,諸如在一段時間內(nèi)的采取的觀測的數(shù)量、平均值、中位數(shù)、或其它概要。時間段可以是任意間隔,從納秒、毫秒、微秒、秒、分鐘、小時、到天或更長。
[0033]觀測可被視為參數(shù)的向量。該向量可具有許多參數(shù),并且一些情況下每個測量可具有三個、五個、十個、甚至數(shù)百個受觀測的參數(shù)。參數(shù)集可能在一組觀測與另一組觀測之間不同,并且在一個觀測到另一個觀測之間不同。在這種情況下,數(shù)據(jù)庫可以是稀疏填充的數(shù)據(jù)庫,其對于時間序列上的每個觀測具有許多參數(shù)。可使用余弦相似性或其它數(shù)學比較來作出觀測到的時間序列和歷史觀測之間的比較。
[0034]時間序列數(shù)據(jù)庫可包括來自一個或多個設(shè)備的觀測。該數(shù)據(jù)庫可包括來自相同的執(zhí)行平臺上的相同應(yīng)用、以及在不同執(zhí)行平臺上的相同應(yīng)用和相同或不同執(zhí)行平臺上的類似或不同應(yīng)用的歷史觀測。這樣的觀測可以被搜索以標識一組類似的觀測,這些觀測可能有一定的預測價值。
[0035]預測可以根據(jù)其它應(yīng)用或設(shè)備的觀察來作出。在許多情況下,兩個不同的執(zhí)行平臺或應(yīng)用之間的類似表現(xiàn)可能仍然會給出有意義的預測,即使系統(tǒng)之間可能存在差異。這樣的相似性可允許不熟悉的或具有很少歷史數(shù)據(jù)的系統(tǒng)仍然使得有意義的并且有用的預測被作出。在一某些情況下,許多不同且不類似的應(yīng)用、硬件平臺、軟件配置、或其它組件的數(shù)據(jù)庫可提供對之前未知的系統(tǒng)的表現(xiàn)的有意義的預測。
[0036]使用計算機應(yīng)用的歷史時間序列觀測的事件預測。
[0037]可通過搜索時間序列數(shù)據(jù)庫以找到可能類似于當前觀測到的時間序列片段的類似的歷史時間序列片段來生成預測。根據(jù)所選擇的歷史時間序列,可根據(jù)歷史數(shù)據(jù)估計預期的一組的性能結(jié)果。在許多情況下,多個結(jié)果可以被組合以產(chǎn)生預測的一組性能結(jié)果。預測可以是可能要發(fā)生的事件的形式。在許多情況下,事件可以是要為其采取某個動作的情形,諸如例如不想要的失敗。
[0038]預測機制可獲取當前觀測到的時間序列片段,并在歷史或觀測到的時間序列的數(shù)據(jù)庫中搜索類似片段。搜索引擎可返回一組類似的觀測到的時間序列,并且在許多情況下,搜索引擎可包括相關(guān)或相似性的數(shù)值。
[0039]對于每一個相似的觀測到的時間序列,分析引擎可基于數(shù)據(jù)庫中的下游觀測來生成預測,以及顯式應(yīng)用在該相似的觀測到的時間序列之后的表現(xiàn)。下游觀測可包括事件和歷史性能數(shù)據(jù)。觀測可以被組合并且部分地按照相關(guān)值來加權(quán)以生成預測。
[0040]預測系統(tǒng)可具有可收集當前觀測的跟蹤器或其它數(shù)據(jù)收集機制。當前的觀測可被傳遞給搜索引擎,搜索引擎可嘗試在歷史觀測的數(shù)據(jù)庫中找到相似的時間序列片段。分析引擎可分析搜索結(jié)果以確定預測結(jié)果。當標識出某些事件時,可以觸發(fā)警報或其它響應(yīng)動作。
[0041]一些系統(tǒng)可使用時間序列片段來在歷史數(shù)據(jù)內(nèi)進行搜索。時間序列片段可以是觀測的序列。在一些情況下,序列可以是兩個、三個、或更多個觀測。序列可以是五個、十個、二十個、或一百個或更多個觀測。隨著觀測數(shù)量的增長,系統(tǒng)可具有更強的相關(guān)性和更有意義的結(jié)果,但可能具有從第一個觀測到預測結(jié)果的更長的延遲。
[0042]預測系統(tǒng)可以持續(xù)地對歷史數(shù)據(jù)庫進行搜索。這樣的系統(tǒng)可不斷收集觀測并發(fā)送觀測序列給搜索和分析系統(tǒng)。歷史數(shù)據(jù)庫可包含來自相同或不同應(yīng)用的數(shù)據(jù),以及從相同或不同用戶和執(zhí)行環(huán)境收集的數(shù)據(jù)。
[0043]事件預測系統(tǒng)可標識歷史數(shù)據(jù)中的事件,隨后標識導致該事件的時間序列順序。所標識的時間序列順序可與當前觀測的時間序列片段進行比較以確定事件是否可發(fā)生。
[0044]事件預測系統(tǒng)可具有自動或手動的事件標識。手動事件標識可具有用戶界面,用戶可在該用戶界面中標識事件。一旦標識了一個事件,分析引擎就可標識可能發(fā)生在該事件之前的前兆時間序列順序。在自動事件標識系統(tǒng)中,可通過分析歷史數(shù)據(jù)來自動檢測事件隨后將該事件傳遞給分析引擎。
[0045]前兆時間序列觀測可被存儲在事件數(shù)據(jù)庫中,并與最近觀測到的時間序列進行比較以確定即將發(fā)生的事件。這樣的系統(tǒng)與其中完整的歷史數(shù)據(jù)庫可能被搜索以尋找匹配的系統(tǒng)相比可消耗更少的處理開銷。
[0046]計算機應(yīng)用的表現(xiàn)聚類的可視化。
[0047]計算機應(yīng)用表現(xiàn)可以通過主要成分分析或性能觀測的其它降維來可視化。
[0048]主要成分分析或其它降維分析可生成應(yīng)用表現(xiàn)的聚類。這些聚類可被顯示在可視化中??梢暬杀粍赢嫽允境鲭S時間推移的觀測序列。在一些情況下,顏色、陰影、或其它視覺增強可被應(yīng)用以示出最近的觀測或者甚至預測的觀測。
[0049]降維可以是一組通用機制,該機制可幫助解釋和理解高維數(shù)據(jù)。主要成分分析可以是使用正交轉(zhuǎn)換來將可能相關(guān)的變量集轉(zhuǎn)變?yōu)榫€性不相關(guān)變量且正交的變量集(被稱為主要成分)的統(tǒng)計過程。第一主要成分可具有最大的可能方差。其它降維機制可包括非線性和線性降維機制。
[0050]降維分析可針對計算機應(yīng)用的性能的一組時間序列觀測來進行。時間序列可包括各個單獨函數(shù)的參數(shù)、應(yīng)用程序編程接口調(diào)用、庫組件、網(wǎng)絡(luò)調(diào)用、存儲器操作、以及許多其它的觀測。在許多情況下,時間序列數(shù)據(jù)還可包括性能指標,諸如處理時間、存儲器等待時間、存儲器消耗、外設(shè)操作、以及其它信息。每一個時間序列觀測可被視為一個具有許多參數(shù)的向量,有時多達十個、二十個、甚至一百個或更多個參數(shù)。
[0051]術(shù)語“降維”可以指將多參數(shù)數(shù)據(jù)轉(zhuǎn)換成成分列表的任何轉(zhuǎn)換,并且主要成分分析是這類轉(zhuǎn)換的子集。降維分析是一個籠統(tǒng)術(shù)語,旨在包括許多不同的算法。主要成分分析范圍內(nèi)的其它轉(zhuǎn)換包括Karhunen-Loeve轉(zhuǎn)換、Hotel Iing轉(zhuǎn)換、適當?shù)恼环纸?、奇異值分解、特征值分解、因素分析、Eckart-Young定理、Schmidt-Misrky定理、經(jīng)驗正交函數(shù)、經(jīng)驗本征函數(shù)分解、經(jīng)驗成分分析、準諧模式、譜分解、經(jīng)驗模態(tài)分析、因素分析、典型相關(guān)分析、以及其它變體。一些轉(zhuǎn)換可能比其它轉(zhuǎn)換更復雜,但所有的都被認為是在總括術(shù)語“降維”之下。
[0052]用于使用降維分析來分析和顯示觀測的系統(tǒng)可收集與執(zhí)行中的計算機應(yīng)用有關(guān)的觀測,將數(shù)據(jù)處理成時間序列向量,將數(shù)據(jù)集分析成主要成分以創(chuàng)建轉(zhuǎn)換函數(shù),隨后呈現(xiàn)轉(zhuǎn)換函數(shù)所轉(zhuǎn)換的數(shù)據(jù)的可視化。轉(zhuǎn)換函數(shù)可以使用歷史數(shù)據(jù)來計算,并且隨后被用于顯示新的觀測。
[0053]轉(zhuǎn)換函數(shù)可以在一些系統(tǒng)中周期性地重新計算。當應(yīng)用的表現(xiàn)從一個模式改變到下一個時,可能適用于一種操作模式的轉(zhuǎn)換函數(shù)可能不能完全代表應(yīng)用在第二種模式下中的表現(xiàn)。這可能是業(yè)務(wù)線應(yīng)用的情況,業(yè)務(wù)線應(yīng)用可能在工作日期間非?;钴S,但可能在夜間進入備份或維護模式。在白天期間,應(yīng)用可能會表現(xiàn)得與夜間相當不同,并且轉(zhuǎn)換函數(shù)也可改變。
[0054]一個完整的轉(zhuǎn)換函數(shù)可通過隨時間推移重新計算轉(zhuǎn)換函數(shù)并且檢測函數(shù)中的變化程度來生成。當額外的數(shù)據(jù)被添加到時間序列并且降維分析轉(zhuǎn)換被重新計算時,該轉(zhuǎn)換可收斂到可代表所有觀測的單個轉(zhuǎn)換函數(shù)。
[0055]從降維分析轉(zhuǎn)換中可以呈現(xiàn)可視化。一旦計算了轉(zhuǎn)換,各個時間序列觀測可轉(zhuǎn)換為該轉(zhuǎn)換所轉(zhuǎn)換的觀測的一維、二維、或三維圖繪。由于每個觀測被繪制為一個點,因此觀測的聚類可變得在圖繪中可見。
[0056]計算機應(yīng)用的觀測的聚類的程度可能會受到各觀測之間的時間周期的影響。隨著各觀測之間的時間周期變得越大,聚類的定義可能變得更不明確,特別是當時間序列觀測可以是在時間間隔期間收集的數(shù)據(jù)的概要。
[0057]在這樣的示例中,跟蹤器可觀測應(yīng)用的行為,并可能聚合每一個時間段的觀測。聚合的觀測可包括函數(shù)的多個執(zhí)行以及分配給該函數(shù)的總的處理器時間。數(shù)據(jù)可不包括函數(shù)的每個單獨實例的處理器時間,但可能只包括分配給該函數(shù)的所有處理器時間的總和。
[0058]計算機應(yīng)用的表現(xiàn)聚類分析與警報系統(tǒng)。
[0059]降維分析轉(zhuǎn)換函數(shù)可被用作為用于監(jiān)控計算機應(yīng)用的警報機制。降維分析轉(zhuǎn)換函數(shù)可以定義應(yīng)用在“正?!辈僮髌陂g可運行的模式,而偏離的“正常”操作的新收集的觀測可能是統(tǒng)計上顯著的標志符,其標志計算機應(yīng)用可能正以異常方式表現(xiàn)。
[0060]降維分析轉(zhuǎn)換可被用作為用于訓練警報系統(tǒng)的機器學習技術(shù)。定義計算機應(yīng)用的基準表現(xiàn)的一組觀測可被用來生成降維分析轉(zhuǎn)換。轉(zhuǎn)換可被應(yīng)用于原始的一組觀測以創(chuàng)建一組觀測聚類。
[0061]可通過轉(zhuǎn)換新的觀測并將其與之前的觀測作比較來將新接收到的觀測與新的基準觀測作比較。一個這樣的比較方法可以是余弦相似性,其中經(jīng)轉(zhuǎn)換的觀測和最接近的之前的觀測之間的余弦相似性可被確定。
[0062]新接收的觀測可通過應(yīng)用降維分析轉(zhuǎn)換,隨后將經(jīng)轉(zhuǎn)換的觀測與之前觀測到的表現(xiàn)的任何聚類作比較來分析。當新的觀測是在之前觀測到的表現(xiàn)附近或之內(nèi)時,則新的觀測可被認為是常規(guī)的。當新的觀測是在之前觀測到的聚類之外時,該新的觀測可指示異常。在這一示例中,觀測可與的聚類作比較以找出最接近的聚類,隨后到聚類的中心的距離可被確定。
[0063]之前兩個示例僅僅是兩個機制,通過這兩個機制,降維分析可被用來生成針對新接收的觀測的警報。其它機制也可被使用。
[0064]用于警報的系統(tǒng)可具有輕量級的分析系統(tǒng),該輕量級的分析系統(tǒng)可以接收一個預定義的降維分析轉(zhuǎn)換,并可在那些觀測被作出時將該轉(zhuǎn)換應(yīng)用于觀測。這樣的系統(tǒng)可以或可以不還包括用于確定是否可根據(jù)經(jīng)轉(zhuǎn)換的觀測生成警報的分析。在一些情況下,在受監(jiān)控設(shè)備上操作的輕量級跟蹤器可計算經(jīng)轉(zhuǎn)換觀測并將經(jīng)轉(zhuǎn)換的觀測傳送給另一設(shè)備供分析。
[0065]貫穿本說明書和權(quán)利要求書,術(shù)語“組件”被用于定義可被合并到應(yīng)用中的一組可重用代碼。組件可被知曉為“模塊”、“庫”、“子例程”或某個其它概念。出于本說明書和權(quán)利要求書的目的,這些術(shù)語被認為是同義詞。
[0066]“組件”可以是按照多個應(yīng)用可訪問代碼的方式布置的代碼,即便這些應(yīng)用彼此之間可能沒有連接。一般來說,“組件”可以是被配置成被重用的代碼。在一些情況下,組件可在大應(yīng)用的范圍內(nèi)重用,而在其它情況下,模塊可被共享至可在不相干且不連接的應(yīng)用中使用該模塊的其它應(yīng)用開發(fā)者。
[0067]許多編程語言和范例具有“組件”或庫的概念,其中組件可具有經(jīng)定義的接口,通過該接口,應(yīng)用可調(diào)用并使用組件。一些范例可允許程序員按靜態(tài)方式合并模塊,以使得組件代碼在該應(yīng)用被編寫并部署之后不進一步改變。一些范例可允許動態(tài)庫,其可在運行時或者甚至在執(zhí)行開始之后被加載和調(diào)用。動態(tài)庫可在該應(yīng)用可被分發(fā)之后被更新和改變,而調(diào)用庫或組件的方式可保持不變。
[0068]組件可以源代碼、中間代碼、可執(zhí)行代碼或以某種其它形式分發(fā)。在一些情況下,組件可以是可通過應(yīng)用編程接口調(diào)用的服務(wù)。
[0069]貫穿本說明書和權(quán)利要求書,術(shù)語“組件”可被應(yīng)用于單個可重用函數(shù)。這一函數(shù)可被分發(fā)作為庫、模塊、或其它代碼集的一部分,并且可反映可被分發(fā)的可重用代碼的最小元素。在本說明書和權(quán)利要求書中被提及的單個“組件”可以是單個應(yīng)用編程接口調(diào)用或可調(diào)用子例程或函數(shù),以及模塊、庫、或多個可調(diào)用函數(shù)、應(yīng)用編程接口調(diào)用、或其它更小元素的其它聚集。在本說明書和權(quán)利要求書中,術(shù)語“剖析器”、“跟蹤器”和“探測工具”可以互換地使用。這些術(shù)語指代可在應(yīng)用被執(zhí)行時采集數(shù)據(jù)的任何機制。在經(jīng)典定義中,“探測工具”可指代可被插入可執(zhí)行代碼并從而改變該可執(zhí)行代碼的生成方法存根(stub)、掛鉤(hook)或其它數(shù)據(jù)采集機制,而“剖析器”或“跟蹤器”可經(jīng)典地指代不可改變可執(zhí)行代碼的數(shù)據(jù)采集機制。對這些術(shù)語及其派生詞中的任一者的使用都可蘊含或暗示彼此。例如,使用“跟蹤器”的數(shù)據(jù)收集可使用“跟蹤器”的經(jīng)典意義中的非接觸式數(shù)據(jù)收集以及用其中可執(zhí)行代碼可被改變的“探測工具”的經(jīng)典意義的數(shù)據(jù)收集來執(zhí)行。類似地,通過“探測工具”收集的數(shù)據(jù)可包括使用非接觸式數(shù)據(jù)收集機制的數(shù)據(jù)收集。
[0070]此外,通過“剖析”、“跟蹤”和“探測工具”收集的數(shù)據(jù)可包括可被收集的任何類型的數(shù)據(jù),包括諸如處理時間、吞吐量、性能計數(shù)器等等之類的與性能有關(guān)的數(shù)據(jù)。收集到的數(shù)據(jù)可包括函數(shù)名、傳遞的參數(shù)、存儲器對象名和內(nèi)容、傳遞的消息、消息內(nèi)容、寄存器設(shè)置、寄存器內(nèi)容、差錯標志、中斷、或與正被跟蹤的應(yīng)用有關(guān)的任何其它參數(shù)或其它可收集的數(shù)據(jù)。收集到的數(shù)據(jù)還可包括高速緩沖未命中、垃圾收集操作、存儲器分派調(diào)用、頁面未命中、以及其它參數(shù)。
[0071]貫穿本說明書和權(quán)利要求書,術(shù)語“執(zhí)行環(huán)境”可被用于指代用于執(zhí)行應(yīng)用的任何類型的支持軟件。執(zhí)行環(huán)境的一示例是操作系統(tǒng)。在一些舉例說明中,“執(zhí)行環(huán)境”可被示為與操作系統(tǒng)分開。這可能是為了例示出為應(yīng)用提供各支持功能的虛擬機,諸如進程虛擬機。在其它實施例中,虛擬機可以是可包括其自己的內(nèi)部操作系統(tǒng)并可模擬整個計算機系統(tǒng)的系統(tǒng)虛擬機。貫穿本說明書和權(quán)利要求書,術(shù)語“執(zhí)行環(huán)境”包括操作系統(tǒng)和可具有或可不具有可容易標識的“虛擬機”或其它支持軟件的其它系統(tǒng)。
[0072]貫穿本說明書和權(quán)利要求書,術(shù)語應(yīng)用摂被用來指代可執(zhí)行期望功能的軟件和硬件產(chǎn)品的任何組合。在一些情況下,應(yīng)用可以是用硬件平臺操作的單一軟件程序。一些應(yīng)用可使用多個軟件組件,每個軟件組件可以是用不同語言編寫的或可在不同硬件或軟件執(zhí)行環(huán)境內(nèi)執(zhí)行。在一些情況下,這些應(yīng)用可跨多個設(shè)備分散并且可使用可由網(wǎng)絡(luò)或其它通信系統(tǒng)連接的軟件和硬件組件。
[0073]貫穿本說明書,貫穿對附圖的描述,相同的附圖標記表示相同的元素。
[0074]在本說明書和權(quán)利要求書中,對“處理器”的引用包括多個處理器。在某些情況中,可由“一處理器”執(zhí)行的過程可實際上由同一設(shè)備上或不同設(shè)備上的多個處理器執(zhí)行。出于本說明書和權(quán)利要求書的目的,對“處理器”的任何引用應(yīng)包括可能位于同一設(shè)備上或不同設(shè)備上的多個處理器,除非另外明確指定。
[0075]當元素被稱為被“相連接”或“相耦合”時,這些元素可被直接連接或耦合在一起,或者也可存在一個或多個中間元素。相反,當元素被稱為被“直接連接”或“直接耦合”時,不存在中間元素。
[0076]本主題可被體現(xiàn)為設(shè)備、系統(tǒng)、方法、和/或計算機程序產(chǎn)品。因此,本主題的部分或全部可以用硬件和/或軟件(包括固件、常駐軟件、微碼、狀態(tài)機、門陣列等)來具體化。此夕卜,本主題可以采用計算機可使用或計算機可讀存儲介質(zhì)上的計算機程序產(chǎn)品的形式,介質(zhì)中收錄了供指令執(zhí)行系統(tǒng)使用或結(jié)合指令執(zhí)行系統(tǒng)一起使用的計算機可使用或計算機可讀的程序代碼。在本文檔的上下文中,計算機可使用或計算機可讀介質(zhì)可以是可包含、儲存、通信、傳播、或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或結(jié)合指令執(zhí)行系統(tǒng)、裝置或設(shè)備一起使用的任何介質(zhì)。
[0077]計算機可使用或計算機可讀介質(zhì)可以是,例如但不限于,電、磁、光、電磁、紅外、或半導體系統(tǒng)、裝置、設(shè)備或傳播介質(zhì)。作為示例而非限制,計算機可讀介質(zhì)可包括計算機存儲介質(zhì)和通信介質(zhì)。
[0078]計算機存儲介質(zhì)包括以用于存儲諸如計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)來實現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。計算機存儲介質(zhì)包括,但不限于,RAM、R0M、EEPR0M、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁帶盒、磁帶、磁盤存儲或其它磁性存儲設(shè)備、或能用于存儲所需信息且可以由指令執(zhí)行系統(tǒng)訪問的任何其它介質(zhì)。注意,計算機可使用或計算機可讀介質(zhì)可以是其上打印有程序的紙張或另一合適的介質(zhì),因為程序可以經(jīng)由例如對紙張或其它介質(zhì)的光學掃描而電子地捕捉,隨后如有必要被編譯、翻譯,或以其它合適的方式處理,并隨后存儲在計算機存儲器中。
[0079]當本主題在計算機可執(zhí)行指令的一般上下文中具體化時,該實施例可包括由一個或多個系統(tǒng)、計算機、或其它設(shè)備執(zhí)行的程序模塊。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等。通常,程序模塊的功能可在各個實施例中按需進行組合或分布。
[0080]圖1是示出用于通過對歷史時間序列的分析來預測事件的過程的實施例100的圖示。該過程可使用搜索引擎來嘗試找出最近的時間序列片段的歷史發(fā)生事件,隨后可分析歷史時間序列以作出針對未來性能的預測。
[0081 ]實施例100的示例中的時間序列被示出為表示單個參數(shù)的圖,該參數(shù)可隨時間而變化。在實踐中,時間序列可以是跟蹤器輸出,該跟蹤器輸出可反映可在計算機應(yīng)用執(zhí)行時被捕捉的多個參數(shù)。由此,每個時間間隔處的時間序列可包含一個具有許多參數(shù)的向量。為了說明,在實施例100中例示了單個參數(shù),但讀者會理解每一個記錄可具有許多記錄。
[0082]跟蹤器可生成可在每個時間間隔處被捕捉的性能度量。性能度量可包括可在應(yīng)用程序執(zhí)行時作出的任何測量。這樣的測量可包括資源使用,諸如存儲器、處理器、網(wǎng)絡(luò)、夕卜設(shè)、或由應(yīng)用程序消耗的其它資源。測量可包括對應(yīng)用的組件的計數(shù)或其它度量,諸如測量函數(shù)被調(diào)用的次數(shù)或例程所處理的數(shù)據(jù)量。測量可包括從物理溫度、功耗、風扇速度到垃圾收集測量、高速緩存未命中、或其它測量的硬件或其它軟件狀態(tài)或性能信息。
[0083]跟蹤器可通過監(jiān)視應(yīng)用執(zhí)行的環(huán)境來收集性能和其它信息。在這種情況下,跟蹤器可測量應(yīng)用的資源消耗、以及輸入和輸出數(shù)據(jù)和其它參數(shù)。在這類實施例中,跟蹤器可以是操作系統(tǒng)或執(zhí)行環(huán)境的一部分。
[0084]跟蹤器可通過用儀表對應(yīng)用進行檢測來收集信息。在這種情況下,儀表可被添加到應(yīng)用中以收集在應(yīng)用的不同點處的信息。點可以是函數(shù)、子例程、決策點、輸入或輸出點、外設(shè)接口、應(yīng)用編程接口、或者應(yīng)用內(nèi)的其它接口或位置。一些跟蹤器可自動插入、打包、打猴子補丁(monkey patch)、或以其它方式將它們自己插入到應(yīng)用中。其它跟蹤器可與應(yīng)用程序中手動放置的數(shù)據(jù)收集點交互。
[0085]跟蹤器可以收集與應(yīng)用處理的數(shù)據(jù)有關(guān)的信息。例如,一些跟蹤器可以對傳入或傳出的數(shù)據(jù)進行測量,測量可包括數(shù)據(jù)的大小、類型或其它描述符。一些跟蹤器可檢查傳遞給應(yīng)用、傳遞自應(yīng)用、或在應(yīng)用內(nèi)傳遞的數(shù)據(jù),并可捕捉這些數(shù)據(jù)值作為數(shù)據(jù)收集過程的一部分。
[0086]跟蹤器數(shù)據(jù)可包括元數(shù)據(jù),元數(shù)據(jù)可以是常數(shù)或者在一個特定的執(zhí)行運行中有很小的變化。這類元數(shù)據(jù)可以包括硬件平臺、軟件組件或可應(yīng)用于多個時間間隔的時間序列的其它元數(shù)據(jù)的描述符。這類元數(shù)據(jù)可被包括在每個時間序列間隔中,也可以被一次性收集并被應(yīng)用于與每個時間序列間隔相關(guān)聯(lián)的數(shù)據(jù)中。
[0087]在每個時間序列間隔處的信息向量可包含20、50、100、500、或更多個參數(shù)。因此,多參數(shù)向量可以表示該時間序列間隔的性能、狀態(tài)或與應(yīng)用有關(guān)的其它信息。這樣的時間序列數(shù)據(jù)集可被表示為一個稀疏或完全填充的觀測矩陣。
[0088]實施例100的過程可始于當前觀測到的時間序列102。時間序列102可以是執(zhí)行第一應(yīng)用的跟蹤器所收集的觀測。當前時間104可與片段大小106所定義的時間序列片段一起被例示。時間序列片段108可從當前時間序列102中提取。
[0089]搜索引擎110可在時間序列數(shù)據(jù)庫112中搜索時間序列片段108。時間序列數(shù)據(jù)庫112可存儲對計算機應(yīng)用的歷史觀測。數(shù)據(jù)庫112可包括從相同應(yīng)用或不同應(yīng)用的之前的執(zhí)行運行中收集的時間序列。數(shù)據(jù)庫112可包括在相同或不同硬件平臺上聚集的數(shù)據(jù),以及用相同或不同軟件組件收集的數(shù)據(jù)。
[0090]搜索引擎110的搜索結(jié)果可能會產(chǎn)生多個歷史時間序列114、120和126。這些歷史時間序列可包含可能與時間序列片段108類似的部分。歷史時間序列114可具有匹配片段116、以及可在該匹配片段116之后發(fā)生的事件118。歷史時間序列120也可具有匹配片段122和后續(xù)事件124。歷史時間序列126可具有匹配片段128和事件130。
[0091]預測分析器132可以基于各個歷史時間序列114、120和126來生成預測時間序列134和預測事件136。預測時間序列134和預測事件136可通過基于匹配時間片段與時間序列片段108的相似性來對每個時間序列施加加權(quán)因子來生成。在許多情況下,可以計算各時間序列之間的數(shù)值相似性常數(shù)。
[0092]實施例100的過程可以是一種用于通過比較當前性能與之前觀測到的行為來預測計算機應(yīng)用的表現(xiàn)的機制。在某些情況下,可以基于對在類似的硬件上操作的相同應(yīng)用的觀測來進行預測。在其它情況下,預測可以至少部分地基于對在相同或不同的硬件上的不同應(yīng)用的觀測來進行。這樣的系統(tǒng)可基于其它計算機系統(tǒng)的表現(xiàn)來進行與統(tǒng)計相關(guān)的預測。在許多情況下,這樣的數(shù)據(jù)庫可包含從應(yīng)用的之前版本中捕捉的數(shù)據(jù),并且預測可能由此受到相同應(yīng)用的類似版本的影響。
[0093]基于其它計算機的表現(xiàn)針對其它應(yīng)用的預測對于預測針對新應(yīng)用、新改變的應(yīng)用程序、新的硬件平臺、或其中針對相同配置的歷史數(shù)據(jù)可能無法使用的其它情形下的表現(xiàn)可能是有用的。這類系統(tǒng)可利用從許多不同計算機系統(tǒng)獲得的知識來幫助預測各種表現(xiàn)或事件。
[0094]預測事件可能是有用的,例如用于提醒用戶一個即將到來的難題或問題。這樣的預測可能在部署業(yè)務(wù)線應(yīng)用或其它系統(tǒng)時(這些情形下停機時間或服務(wù)降級可能是不想要的或有害的)對計算機管理員有幫助。
[0095]時間序列中的各種事件可以是用戶可能希望跟蹤的任何類型的事件。在許多情況下,這類事件可以是用戶可能希望避免的問題。一些這樣的事件可包括輕微或重大的服務(wù)降級、災難性的故障、安全漏洞、或其它不想要的事件。在某些情況下,這樣的事件可以是可能觸發(fā)其它操作的想要的事件。在實施例100的示例中,所指示的事件被例示為所觀測到的數(shù)據(jù)中的尖峰或增加。這是為了說明目的,因為一些事件可能會或可能不會反映在被觀測的參數(shù)的增加或減少中。
[0096]圖2是示出可在應(yīng)用被執(zhí)行時收集并處理跟蹤器數(shù)據(jù)的各組件的實施例200的圖示。僅僅作為一個示例拓撲結(jié)構(gòu),各組件被例示為處于不同硬件平臺上。
[0097]圖2的示圖例示出了系統(tǒng)的功能組件。在一些情況下,組件可以是硬件組件、軟件組件、或者硬件和軟件的組合。一些組件可以是應(yīng)用級軟件,而其它組件可以是執(zhí)行環(huán)境級組件。在一些情況下,一個組件到另一組件的連接可以是緊密連接,其中兩個或更多個組件在單個硬件平臺上操作。在其它情況下,連接可通過跨長距離的網(wǎng)絡(luò)連接來進行。每個實施例都可使用不同的硬件、軟件、以及互連架構(gòu)來實現(xiàn)所描述的功能。
[0098]實施例200例示出可具有硬件平臺204和各種軟件組件的設(shè)備202。所例示出的設(shè)備202表示常規(guī)計算設(shè)備,但是其它實施例可具有不同配置、架構(gòu)、或組件。
[0099]在許多實施例中,設(shè)備202可以是服務(wù)器計算機。在一些實施例中,設(shè)備202仍然還可以是臺式計算機、膝上型計算機、上網(wǎng)本計算機、圖形輸入板或平板計算機、無線手機、蜂窩電話、游戲控制臺或任何其它類型的計算設(shè)備。在一些實施例中,設(shè)備202可被實現(xiàn)在計算設(shè)備的群集中,該群集可以是一組物理機或虛擬機。
[0100]硬件平臺204可以包括處理器208、隨機存取存儲器210、以及非易失性存儲212。硬件平臺204還可包括用戶接口 214和網(wǎng)絡(luò)接口 216。
[0101]隨機存取存儲器210可以是包含可由處理器208快速存取的數(shù)據(jù)對象和可執(zhí)行代碼的存儲。在許多實施例中,隨機存取存儲器210可具有將存儲器210連接到處理器208的高速總線。
[0102]非易失性存儲212可以是在關(guān)閉設(shè)備202之后持久保持的存儲。非易失性存儲212可以是任何類型的存儲設(shè)備,包括硬盤、固態(tài)存儲器設(shè)備、磁帶盒、光學存儲、或其它類型的存儲。非易失性存儲212可以是只讀的或能夠讀/寫。在一些實施例中,非易失性存儲212可以是基于云的、網(wǎng)絡(luò)存儲、或可通過網(wǎng)絡(luò)連接訪問的其它存儲。
[0103]用戶接口214可以是能夠顯示輸出以及接收來自用戶的輸入的任何類型的硬件。在許多情況下,輸出顯示器可以是圖形顯示監(jiān)視器,但是輸出設(shè)備可包括光和其它視覺輸出、音頻輸出、動力致動器輸出、以及其它輸出設(shè)備。
[0104]常規(guī)輸入設(shè)備可包括鍵盤和定點設(shè)備,諸如鼠標、指示筆、跟蹤球、或其它定點設(shè)備。其它輸入設(shè)備可包括各種傳感器,包括生物測定輸入設(shè)備、音頻和視頻輸入設(shè)備、以及其它傳感器。
[0105]網(wǎng)絡(luò)接口216可以是到另一計算機的任何類型的連接。在許多實施例中,網(wǎng)絡(luò)接口216可以是有線以太網(wǎng)連接。其它實施例可包括基于各種通信協(xié)議的有線或無線連接。
[0106]軟件組件206可包括操作系統(tǒng)218,各種軟件組件和服務(wù)可在該操作系統(tǒng)218上操作。
[0107]設(shè)備202可存儲和分析可由受監(jiān)控設(shè)備240上的跟蹤器所收集的跟蹤器數(shù)據(jù)。設(shè)備202可具有時間序列數(shù)據(jù)庫220,該數(shù)據(jù)庫可存儲通過監(jiān)控各個設(shè)備所收集到的時間序列數(shù)據(jù)。
[0108]時間序列數(shù)據(jù)庫220可被以多種方式來使用以預測正被執(zhí)行的應(yīng)用的表現(xiàn)和事件。實施例100中描述了一種方法,其中當前時間序列片段被提交給搜索引擎。搜索結(jié)果可被分析以預測將來的表現(xiàn)以及預測可能的將來的事件。這樣的方法可能在某些情況下是計算昂貴的,但其除了預測預定義的事件也可能能夠預測一般表現(xiàn)。
[0109]另一種方法可以是分析給定事件的前兆,并創(chuàng)建有代表性的時間序列片段。實時分析器可以將預先標識的前兆時間片段與當前觀測作比較以確定事件的可能性。這類方法可能與實時的第一種方法相比沒有那么計算昂貴,但可以進行更多的離線分析。
[0110]第三種方法可使用降維分析,以將多變量時間序列數(shù)據(jù)分解成一個轉(zhuǎn)換函數(shù),該轉(zhuǎn)換函數(shù)可被應(yīng)用于可用的數(shù)據(jù)集。轉(zhuǎn)換函數(shù)可以被應(yīng)用于當前的觀測,然后可以在經(jīng)轉(zhuǎn)換的觀測和之前的觀測之間進行比較。該比較可標識出反常的觀測,這可指示事件或事件的前兆。
[0111]時間序列數(shù)據(jù)庫220可以是可允許存儲、檢索、搜索、對時間序列數(shù)據(jù)執(zhí)行的其它操作的任何類型的數(shù)據(jù)庫或存儲機制。時間序列數(shù)據(jù)可能是任何類型的數(shù)據(jù)流,其表示隨著時間推移的多個觀測。在一個典型應(yīng)用中,時間序列可包含在規(guī)則的時間間隔處收集的觀測。
[0112]時間序列攝入口222可收集來自各種受監(jiān)控設(shè)備的時間序列數(shù)據(jù),并可將這些數(shù)據(jù)傳遞給事件分析器224。事件分析器224可以用任何可被觀測到的事件來標記傳入的數(shù)據(jù)。數(shù)據(jù)可隨后被存儲在時間序列數(shù)據(jù)庫220中。
[0113]事件分析器224可處理傳入的數(shù)據(jù)流并將事件信息添加到數(shù)據(jù)流中。在某些情況下,可以通過分析數(shù)據(jù)流并將事件標記添加到數(shù)據(jù)來推導事件。這類事件的一個示例可是當應(yīng)用性能跌落至服務(wù)級別協(xié)定以下時。事件分析器224可將所觀測到的性能與服務(wù)級別協(xié)定進行比較,并且當服務(wù)級別協(xié)定不被滿足時,可以標識事件并可相應(yīng)標記時間序列觀測。
[0114]搜索引擎226可在幾個不同場景下搜索時間序列數(shù)據(jù)庫220。在一個場景中,搜索引擎226可被用于實時或近實時地尋找匹配的歷史數(shù)據(jù)。這些歷史數(shù)據(jù)可被用于構(gòu)建對可能正在執(zhí)行的系統(tǒng)的預測。在另一場景中,搜索引擎226可以搜索事件或時間序列片段作為分析的一部分以構(gòu)建可能是各種事件的前兆的參考時間序列的集合。
[0115]預測分析引擎228可以接收來自受監(jiān)控設(shè)備240的時間序列片段,隨后搜索引擎226可從歷史記錄中檢索類似的片段。預測分析引擎228可隨后基于歷史數(shù)據(jù)構(gòu)建預測。實施例100中例示了這一過程的示例。
[0116]參考分析器230可以標識可由受監(jiān)控設(shè)備240處的實時分析器用來檢測異?;蝾A測事件的前兆時間序列片段。事件可由參考分析器230搜索和分析。參考分析器230的一個操作是檢索包含一個特定事件的若干個時間序列,隨后確定該事件的特征前兆。前兆可以是可能先于特定事件發(fā)生的并可能指示該事件可能發(fā)生的時間序列片段。這些前兆時間序列片段可被存儲在參考時間序列數(shù)據(jù)庫232中。
[0117]前兆時間序列可以是對將來的事件的統(tǒng)計上的明顯指標。該參考時間序列可被傳輸給受監(jiān)控裝置240,受監(jiān)控裝置240可將該參考時間序列片段與當前觀測的時間序列作比較。匹配可表明事件有統(tǒng)計上明顯的潛在可能要發(fā)生。
[0118]參考管理器234可將參考時間序列片段傳送給監(jiān)視設(shè)備240以供實時或近實時的比較。受監(jiān)控設(shè)備240可將參考時間序列片段與新的觀測作比較來預測各種事件。
[0119]降維分析儀236可以分析觀測時間序列以確定對數(shù)據(jù)的轉(zhuǎn)換239。降維分析可以是使用轉(zhuǎn)換來將可能相關(guān)的變量的觀測的集合轉(zhuǎn)變?yōu)椴幌嚓P(guān)變量(有時被稱為主要成分)的值的集合的任何統(tǒng)計過程。時間序列觀測可包括應(yīng)用的性能和其它觀測,其可包括在每個時間間隔中的數(shù)十或甚至數(shù)百個觀測。這些觀測可被轉(zhuǎn)換為主要成分,隨后對這些數(shù)據(jù)執(zhí)行聚類和其它分析。
[0120]歷史數(shù)據(jù)或新的數(shù)據(jù)可通過降維轉(zhuǎn)換來轉(zhuǎn)換,然后被用于生成圖或其它圖表。這類圖表可指示應(yīng)用的操作模式,并且可能對開發(fā)者查看和理解他們的應(yīng)用的表現(xiàn)是有用的。當聚類分析可被應(yīng)用于經(jīng)轉(zhuǎn)換的數(shù)據(jù)時,許多應(yīng)用可被可視化為以若干個不同模式操作。
[0121]降維轉(zhuǎn)換可被作為一種用于檢測表現(xiàn)中的異常的機制來使用。在從歷史數(shù)據(jù)生成降維轉(zhuǎn)換之后,新的數(shù)據(jù)可被轉(zhuǎn)換并與經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較。當新的數(shù)據(jù)與經(jīng)轉(zhuǎn)換的數(shù)據(jù)明顯不同時,新的數(shù)據(jù)可以被標記為異常。這樣的分析可由受監(jiān)控設(shè)備240實時或近實時地執(zhí)行。
[0122]轉(zhuǎn)換管理器241可以將各種轉(zhuǎn)換239傳送給受監(jiān)控設(shè)備240。當轉(zhuǎn)換239被更新或創(chuàng)建時,轉(zhuǎn)換管理器241可更新各受監(jiān)控設(shè)備240,各受監(jiān)控設(shè)備240可使用這些轉(zhuǎn)換來分析新的觀測。
[0123]一個或多個受監(jiān)控設(shè)備240可通過網(wǎng)絡(luò)243連接到設(shè)備202。受監(jiān)控設(shè)備240可收集原始跟蹤器數(shù)據(jù),該數(shù)據(jù)可以被發(fā)送給設(shè)備202。在某些情況下,受監(jiān)控設(shè)備240可執(zhí)行一些分析,這些分析可檢測異常以及對跟蹤器數(shù)據(jù)進行預處理或其它分析。
[0124]受監(jiān)控設(shè)備240可在可與設(shè)備202的硬件平臺204類似的硬件平臺242上操作。硬件平臺242可以是任何類型的計算設(shè)備,從大型服務(wù)器計算機到臺式機、手持式電腦、移動電話和平板電腦、到可以執(zhí)行至少一些計算的更小的設(shè)備。
[0125]執(zhí)行平臺244可以是操作系統(tǒng)、虛擬機、進程虛擬機、或可以執(zhí)行應(yīng)用246的其它框架。跟蹤器248可監(jiān)控應(yīng)用246的操作,并可收集、觀測、或生成各種跟蹤器數(shù)據(jù)。跟蹤器248可以將數(shù)據(jù)傳送給設(shè)備202上的時間序列攝入口222以供存儲在時間序列數(shù)據(jù)庫220中。在一種典型的操作模式中,跟蹤器248可周期性地收集和傳送數(shù)據(jù),從而創(chuàng)建跟蹤器信息的時間序列。
[0126]實時分析器250可以在數(shù)據(jù)被收集時對數(shù)據(jù)進行各種類型的分析。實時分析器250可以通過將最近的觀測與可被標識為各種事件的前兆的一個或多個參考時間序列作比較來分析數(shù)據(jù)。實時分析器250可以通過對數(shù)據(jù)應(yīng)用降維轉(zhuǎn)換并測試經(jīng)轉(zhuǎn)換的數(shù)據(jù)是否異常來分析數(shù)據(jù)。
[0127]參考數(shù)據(jù)庫252可包含可從參考時間序列數(shù)據(jù)庫232中獲得的參考時間序列。該參考時間序列可以是實際的或概括的可能已被先前標識為各種事件的前兆的時間序列片段。當實時分析器250可以標識從應(yīng)用246收集的數(shù)據(jù)類似于前兆事件時,實時分析器250可導致警報或其它動作被觸發(fā)。
[0128]降維轉(zhuǎn)換254可以是一個可轉(zhuǎn)換跟蹤器輸出的轉(zhuǎn)換函數(shù)。經(jīng)轉(zhuǎn)換的跟蹤器輸出可以與經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較以確定最近觀測到的數(shù)據(jù)是否異常。當最近觀測到的數(shù)據(jù)是異常的,一個事件或其它動作可被觸發(fā)。
[0129]客戶端設(shè)備256可以是一種用戶可用來與數(shù)據(jù)收集和分析系統(tǒng)中的各個組件進行交互的機制??蛻舳嗽O(shè)備256可具有硬件平臺258,瀏覽器260可在該硬件平臺上執(zhí)行。該瀏覽器可與各組件連接以生成用戶界面262,用戶可以通過該用戶界面來設(shè)置、配置、監(jiān)控、控制、以及以其它方式與各組件交互。在許多情況下,用戶界面262可以提供系統(tǒng)中生成的匯總統(tǒng)計和警報信息。
[0130]實施例200的示例例示了可以收集和分析跟蹤器數(shù)據(jù)的系統(tǒng)的一個體系結(jié)構(gòu)。所例示的各組件中的一些可以部署在不同的硬件平臺上,并可在可能具有或可能不具有軟件組件的定制的電路或硬件上實現(xiàn)。
[0131]圖3是示出具有許多組件的散布式應(yīng)用的實施例300的圖示。實施例300只是跟蹤器系統(tǒng)的一個示例,該跟蹤器系統(tǒng)可以從多個源收集數(shù)據(jù),其中每個源可以是一個更大的應(yīng)用的一部分。這樣的應(yīng)用可以與其它計算機系統(tǒng)交互,這些計算機系統(tǒng)可具有各種應(yīng)用程序編程接口、數(shù)據(jù)庫、應(yīng)用、或其它組件,所有這些都促成了一個更大的應(yīng)用。實施例300僅是散布式應(yīng)用的一個示例。其它散布式應(yīng)用可具有不同的體系結(jié)構(gòu),并與更少或更多的組件進行交互。
[0132]應(yīng)用302可以在硬件平臺304上執(zhí)行。該應(yīng)用可以是可使跟蹤器306收集數(shù)據(jù)的軟件或硬件功能。跟蹤器306可收集應(yīng)用302的性能和其它操作觀測,并將觀測傳送給時間序列數(shù)據(jù)庫330。
[0133]應(yīng)用302可從用戶308接收請求310,并返回響應(yīng)312給用戶310。在許多情況下,用戶310可能是人類用戶。在某些情況下,用戶310可以是另一個軟件或硬件應(yīng)用。
[0134]應(yīng)用302可以與另一系統(tǒng)的應(yīng)用程序編程接口 314進行交互。應(yīng)用程序編程接口314可以是一種經(jīng)定義的用于發(fā)送和接收信息的協(xié)議,并且這類接口可以針對任何類型的軟件或硬件系統(tǒng)來定義。在某些情況下,跟蹤器316可位于應(yīng)用程序編程接口 314的系統(tǒng)上。跟蹤器316可收集對與應(yīng)用302相關(guān)聯(lián)的活動的性能和其它觀測,并將那些觀測傳送給跟蹤器時間序列數(shù)據(jù)庫330。
[0135]數(shù)據(jù)庫318可以由應(yīng)用302查詢。數(shù)據(jù)庫318可以駐留在第二硬件平臺320上,并可具有跟蹤器322,該跟蹤器322可收集觀測并將那些觀測傳送給跟蹤器時間序列數(shù)據(jù)庫330。
[0136]類似的,第二應(yīng)用324可與應(yīng)用302交互。第二應(yīng)用324可在另一硬件平臺326上操作,并可具有跟蹤器328,該跟蹤器328可收集觀測并將那些觀測傳送給跟蹤器時間序列數(shù)據(jù)庫330。
[0137]—些收集來自多個數(shù)據(jù)源的跟蹤器數(shù)據(jù)的系統(tǒng)可具有分析器332,該分析器322可聚合來自每個源的數(shù)據(jù)。聚合可創(chuàng)建表示更大的應(yīng)用的時間序列數(shù)據(jù),該時間序列數(shù)據(jù)包括應(yīng)用302、應(yīng)用程序編程接口 314、數(shù)據(jù)庫318、以及第二應(yīng)用326的所有操作。在某些情況下,分析器332可以能夠?qū)?yīng)用302和其它組件之間的事務(wù)連接起來,從而將對其它組件的性能觀測添加到由應(yīng)用302發(fā)起的事務(wù)。在某些情況下,分析器332可以能夠聚合來自多個系統(tǒng)的觀測,而不鏈接各個源之間的事務(wù)或交互。
[0138]圖4是示出用于收集跟蹤器數(shù)據(jù)的方法的實施例400的時間線圖。實施例400可在左列中例示跟蹤器系統(tǒng)402的操作、在中間的列中例示分析系統(tǒng)404的操作、并且在右邊的列中例示時間序列數(shù)據(jù)庫406。
[0139]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0140]跟蹤器系統(tǒng)402可代表跟蹤器可為之收集和傳送觀測的任何系統(tǒng)。這樣的系統(tǒng)的一個示例是實施例200中的跟蹤器248或者實施例300中例示的各個跟蹤器。
[0141]分析系統(tǒng)404可以是接收、預處理、以及存儲傳入的跟蹤器數(shù)據(jù)的系統(tǒng)。這類系統(tǒng)的一個示例可包括實施例200的時間序列攝入口 222以及事件觸發(fā)器224。
[0142]時間序列數(shù)據(jù)庫406可以是包含時間序列形式的跟蹤器數(shù)據(jù)的存儲機制。在一些系統(tǒng)中,時間序列數(shù)據(jù)庫406可能位于遠程系統(tǒng)上,并且可以作為網(wǎng)絡(luò)服務(wù)來訪問。
[0143]跟蹤器系統(tǒng)402可以在框408中執(zhí)行應(yīng)用,并在框410中收集跟蹤器數(shù)據(jù)。周期性地,跟蹤器系統(tǒng)402可在框412傳送時間序列數(shù)據(jù)到分析系統(tǒng)404,分析系統(tǒng)404可在框414中接收該時間序列數(shù)據(jù)。
[0144]所采集和傳送的時間序列數(shù)據(jù)可以是跟蹤器可收集和傳送的任何觀測、元數(shù)據(jù)、或其它信息。
[0145]由于這些數(shù)據(jù)可以被周期性地發(fā)送,因此它們在按照觀測被收集的順序來存儲和訪問時可形成一個時間序列。
[0146]分析系統(tǒng)404可以在框416中分析事件的時間序列數(shù)據(jù)???16的分析可包括分析傳入數(shù)據(jù)以找出任何異常。可從各個時間序列數(shù)據(jù)點中或通過對時間序列數(shù)據(jù)的各片段的分析來檢測出異常。這類異常檢測的示例可包括針對預定義的限值(諸如服務(wù)水平協(xié)定)來對這類數(shù)據(jù)進行分析。其它示例可以是對方差的統(tǒng)計分析、比較通過降維分析轉(zhuǎn)換的數(shù)據(jù)、或其它分析。
[0147]當在框418中標識了事件時,數(shù)據(jù)可在框420中用該事件來標記。如果在框418中沒有檢測到事件,則可跳過標記操作。數(shù)據(jù)可在框422中被傳送到時間序列數(shù)據(jù)庫406,時間序列數(shù)據(jù)庫406可在框424中接收該時間序列數(shù)據(jù),并可在框426中存儲數(shù)據(jù)。
[0148]在某些情況下,跟蹤器系統(tǒng)402可檢測到事件已發(fā)生。跟蹤器系統(tǒng)402可具有一個警報系統(tǒng),該警報系統(tǒng)可以標識事件的條件,并且當在框428中檢測到這類事件時,該事件可在框430中被傳送到分析系統(tǒng)404。
[0149]事件可由分析系統(tǒng)404在框432中接收。可以在框434中為該事件創(chuàng)建標記,并在框436中將該標記發(fā)送給時間序列數(shù)據(jù)庫406。
[0150]事件標記可由時間序列數(shù)據(jù)庫406在框438中接收。在許多情況下,事件標簽可定義時間周期或可適用于該事件的其它條件,從而影響多個時間序列條目。對于框440中每個受影響的條目,在框442中可應(yīng)用事件標記。
[0151]圖5是示出用于預測時間序列和事件的方法的實施例500的時間線圖。實施例500可在左列中例示跟蹤器系統(tǒng)502的操作、在中間的列中例示分析系統(tǒng)504的操作、并且在右邊的列中例示時間序列搜索系統(tǒng)506。
[0152]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0153]實施例500可例示一種用于基于當前時間序列觀測來生成預測的方法。該方法在時間序列數(shù)據(jù)庫中搜索類似的時間序列段,然后基于存儲在時間序列數(shù)據(jù)庫中的歷史觀測來生成對將來表現(xiàn)的預測。
[0154]跟蹤器系統(tǒng)502可代表跟蹤器可為之收集和傳送觀測的任何系統(tǒng)。這樣的系統(tǒng)的一個示例是實施例200中的跟蹤器248或者實施例300中例示的各個跟蹤器。
[0155]分析系統(tǒng)504可以是分析傳入的跟蹤器數(shù)據(jù)的系統(tǒng)。這樣的系統(tǒng)的示例可包括實施例200的預測分析引擎228。
[0156]時間序列搜索系統(tǒng)506可以是訪問時間序列數(shù)據(jù)庫的搜索引擎,其中時間序列數(shù)據(jù)庫包含歷史跟蹤器觀測。這樣的系統(tǒng)的示例可包括實施例200的搜索引擎226。
[0157]跟蹤器系統(tǒng)502可以在框508中執(zhí)行應(yīng)用。當應(yīng)用執(zhí)行時,可在框510中收集跟蹤器數(shù)據(jù)。在框512中可標識時間序列片段,并在框514中將其傳送給分析系統(tǒng)504。
[0158]時間序列片段可以是時間序列中的單個時間點或者時間序列中的數(shù)據(jù)點序列。在許多情況下,時間序列中的每個數(shù)據(jù)點可以是一個具有許多參數(shù)(有時多達50、100、或更多個參數(shù))的向量。
[0159]時間序列片段可由分析系統(tǒng)504在框516中接收。該片段可在框518中被傳送給時間序列搜索系統(tǒng)506,時間序列搜索系統(tǒng)506可在框520中接收該片段。
[0160]可在框522中作出對匹配片段的搜索。在框524中,匹配可被返回。匹配片段可以從歷史數(shù)據(jù)庫中的任何數(shù)據(jù)中選取。在某些情況下,匹配片段可以從具有與跟蹤器系統(tǒng)502相同的硬件和軟件配置的同一應(yīng)用的之前觀測中選取。在其它情況下,匹配片段可以來自可能已經(jīng)執(zhí)行了類似或不類似應(yīng)用的類似或不類似系統(tǒng)。
[0161]匹配時間序列片段可由分析系統(tǒng)504在框526中接收。對于框528中的每一個匹配,在框530中可以標識匹配片段的任何下游事件。在框532中可以估計事件的概率。
[0162]框530和532的分析可能會檢查在該匹配片段之后的某一時間觀測到的歷史數(shù)據(jù)。通過查看匹配的下游或之后并找到一個事件,可作出事件可能會發(fā)生的預測。事件的概率可能會受到匹配的相似性程度以及其它因素的影響。在某些情況下,試探式或其它機制可被用來估計概率。
[0163]在框534中可以估計事件概率。在某些情況下,這樣的概率可被估計為在框532中確定的概率的聚合。
[0164]當在框536中事件的概率為高時,可以在框538中生成一個警告。警報可以被記錄、傳送給管理員或其它感興趣方、或觸發(fā)某個其它動作。
[0165]在框540中可生成預測的下游時間序列,無論是否預測了一個事件。預測的時間序列可以是下游歷史時間序列的聚合。在許多情況下,每個歷史時間序列的貢獻可按照匹配相似性或其它因素來加權(quán)以生成預測的時間序列。
[0166]在框542塊中可顯示預測的下游時間序列。
[0167]圖6是示出用于預測時間序列的方法的實施例600的流程圖示。實施例600可例示出可由實施例500的分析系統(tǒng)504執(zhí)行的操作的更詳細示例。
[0168]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0169]在框602中,可接收時間序列片段供分析。在框604中,該片段可被發(fā)送給搜索引擎,搜索引擎可搜索包含之前觀測到的時間序列的時間序列數(shù)據(jù)庫。在框606中,搜索引擎可返回該時間序列片段的匹配以及該匹配的下游片段。
[0170]該匹配可按照原始時間序列片段和在數(shù)據(jù)庫中找到的片段之間的相關(guān)性來進行排序。在框610中,可選擇具有最強相關(guān)性的片段。
[0171]在框612中,可確定片段的加權(quán)因子。加權(quán)因子可部分地從經(jīng)計算的相關(guān)系數(shù)中推導,并且還可包括基于試探的因素,該試探可將硬件、軟件、或各個時間序列的操作特性之間的相似性納入考慮。在框614中,加權(quán)因子可被應(yīng)用于片段,并且可將經(jīng)加權(quán)的片段添加到預測。當在框616中,在有額外的片段可用時,過程可返回到框610以分析該額外的片段。
[0172]在框618中,該預測可被后處理。后處理可以是可在框620中將預測呈現(xiàn)給用戶之前執(zhí)行的任何進一步的分析、平滑、或其它操作。該預測可在框622中被用于預測事件的可能性。
[0173]圖7是示出用于標識給定事件的前兆時間序列片段的方法的實施例700的示意圖。實施例700顯示了一個序列,該序列可至少部分地由參考分析器(諸如實施例200的參考分析器230)執(zhí)行。
[0174]實施例700例示了一種可用來分析歷史時間序列以找出可指示具有一定統(tǒng)計概率的將來事件的前兆時間序列片段的方法。前兆時間序列可被用于預測事件。
[0175]在框702,可標識事件。該事件可被定義為可以由搜索引擎704搜索的條件或其它描述符。在某些情況下,事件可被標記在存儲在時間序列數(shù)據(jù)庫706中的數(shù)據(jù)中。在其它情況下,事件可以是事件發(fā)生時所處的時間序列片段。在又一些其它情況下,事件可以以某種其它方式來定義。
[0176]搜索引擎704可返回多個歷史時間序列708、710和712,其中的每一個分別包含事件714、716和718的實例。
[0177]參考分析器726可以分析各種歷史時間序列以標識前兆720、722和724,其可以是可表明可能事件的統(tǒng)計上顯著的時間序列片段。這些時間序列片段可以被組合成前兆時間序列728。前兆時間序列728可與當前觀測到的時間序列片段作比較,當存在匹配時,該事件可被預測。
[0178]圖8是示出用于標識給定事件的前兆時間序列片段的方法的實施例800的流程圖示。實施例800可例示可在實施例700中執(zhí)行的操作的更詳細的示例。
[0179]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0180]實施例800例示了一種用于定義事件的前兆時間序列片段的方法。前兆可以是時間序列片段,當在當前時間序列中被標識時,該事件序列片段可指示相關(guān)聯(lián)的事件可能發(fā)生。
[0181]在框802,可選擇事件。在框804中,可搜索時間序列數(shù)據(jù)庫以尋找事件的每一個實例。
[0182]該事件可以任何可被搜索引擎接受的方式來定義。在某些情況下,事件可以是被自動或手動標識為“事件”的時間序列片段。在其它情況下,事件可以是可被存儲在時間序列數(shù)據(jù)庫中的元數(shù)據(jù)或其它注釋中的被標記的事件。
[0183]在框806中,可分析事件的每一個實例。在框808中,對于每一個實例,可以標識事件之前的異常片段。在框809中,當異常片段可能是事件的一個顯著標志符時,在框810中,該片段可被存儲為前兆片段。在框809中,當異常片段不是事件的顯著標志符時,過程可返回框806以處理下一個實例。
[0184]事件前的異常片段可通過搜索事件前的片段以及測試那些片段的唯一性來標識。唯一性可通過在數(shù)據(jù)庫中搜索該片段以確定該片段可能有多常見來定義。那些非常獨特并且在事件之前的那些片段可能在統(tǒng)計上更可能表明該事件會發(fā)生。
[0185]在框806中分析了每一個實例之后,如果在框811中沒有統(tǒng)計上顯著的前兆被標識,則過程可在框813中以沒有標識該事件的前兆事件而結(jié)束。
[0186]只要在框811中標識了一個或多個前兆,則在框812中,為該事件所標識的前兆可按照相似性被聚類。在框814中,可分析每一個類似前兆的聚類。
[0187]對于框814中的每一個類似前兆的聚類,經(jīng)聚類的前兆可在框816中被聚合以為該聚類生成代表性前兆。在框818中,可保存該代表性前兆。
[0188]在處理前兆的每一分組或聚類之后,代表性前兆可被分發(fā)給各個警報發(fā)生器。在許多情況下,警報發(fā)生器可在與跟蹤器相同的設(shè)備上運行。
[0189]圖9是示出用于使用前兆來預測事件的方法的實施例900的流程圖示。實施例900可例示可與跟蹤器一起布署的實時分析器(類似于實施例200的實時分析器250)的操作。
[0190]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0191]實施例900例示了一種可使用前兆時間序列片段來預測事件的方法。
[0192]在框902中,可接收代表性前兆。代表性前兆可以是可以通過諸如實施例800之類的方法確定的并且可代表事件可能在將來發(fā)生的統(tǒng)計上顯著的標志符的一系列數(shù)據(jù)點。
[0193]跟蹤可以在框904中開始,并且在框906中,可接收跟蹤數(shù)據(jù)流。在框908中,可選擇時間序列片段供分析。時間序列片段可以是來自跟蹤器的一組最近的時間序列觀測。
[0194]在框910中,可進行比較以將當前觀測到的時間序列與各種前兆時間序列片段作比較。當在框910中找到多個匹配時,在框912中,可按照相關(guān)性對匹配進行排序。
[0195]在框914中,可選擇具有最高相關(guān)性的匹配。在框916中,如果相關(guān)性超過預定義閾值,則在框918中,可生成預測警告。如果另一匹配可用,則過程可返回到框914。
[0196]當在框916中相關(guān)性不滿足預定義閾值時,過程可返回到框906以分析下一時間序列片段。
[0197]類似的,如果在框920中沒有更多匹配可用于分析,則過程可返回到框906。
[0198]圖10是示出應(yīng)用于跟蹤器數(shù)據(jù)的降維分析的實施例1000的示意圖。降維分析可以表示用于對一組觀測進行降維轉(zhuǎn)換的若干種數(shù)學方法中的任意一種。在許多情況下,跟蹤器數(shù)據(jù)可包括性能和其它度量,其可包括在每個數(shù)據(jù)點處的許多參數(shù)的向量。一些情況可具有在時間序列的每一個時間段處收集的1、20、50、100、或更多個參數(shù)。
[0199]對這些數(shù)據(jù)的降維分析可產(chǎn)生應(yīng)用的性能的有用圖表和分析。一旦使用降維分析進行了轉(zhuǎn)換,跟蹤數(shù)據(jù)可經(jīng)受聚類分析以標識該應(yīng)用可能會表現(xiàn)的模式。
[0200]降維轉(zhuǎn)換和聚類分析可被用作為應(yīng)用表現(xiàn)的數(shù)學模型。因此,對應(yīng)用的表現(xiàn)的新的觀測可被用該模型來測試以確定該表現(xiàn)是否非典型或異常。當行為異常時,可以創(chuàng)建警報或采取另一個動作。
[0201]應(yīng)用1002可與跟蹤器1004—起執(zhí)行。跟蹤器1004可收集與應(yīng)用1002有關(guān)的性能和其它操作觀測,并且跟蹤器1004的輸出可以是一個多變量時間序列1006。
[0202]對時間序列數(shù)據(jù)的降維分析1008可生成轉(zhuǎn)換1010。轉(zhuǎn)換1010可被應(yīng)用于多變量時間序列1006以生成經(jīng)轉(zhuǎn)換的數(shù)據(jù)1012。經(jīng)轉(zhuǎn)換的數(shù)據(jù)1012可以二維圖表來呈現(xiàn),該二維圖表只顯示主要成分分析的前兩個維度。
[0203]在許多情況下,對應(yīng)用的跟蹤數(shù)據(jù)的降維分析可顯示不同的組。組可反映應(yīng)用的操作模式。聚類分析1014可得到聚類數(shù)據(jù)1016。
[0204]圖11是示出用于對跟蹤器數(shù)據(jù)應(yīng)用降維分析的方法的實施例1100的流程圖示。實施例1100可以例示降維分析器的操作,諸如實施例200的降維分析器236。
[0205]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0206]實施例1100例示了一種用于創(chuàng)建和應(yīng)用針對跟蹤器數(shù)據(jù)的降維分析的方法。通過分析跟蹤器數(shù)據(jù)的時間序列可創(chuàng)建轉(zhuǎn)換,隨后該轉(zhuǎn)換可被應(yīng)用于時間序列數(shù)據(jù)點從而創(chuàng)建經(jīng)轉(zhuǎn)換的數(shù)據(jù)集。經(jīng)轉(zhuǎn)換的數(shù)據(jù)集可作為二維或三維圖表來呈現(xiàn),并且還可應(yīng)用聚類分析。
[0207]在框1102中,由跟蹤器收集的性能數(shù)據(jù)的時間序列可被接收。在框1104中,可將每一個時間序列記錄視為一個多維向量來處理,并且在框1106中,可執(zhí)行降維分析以生成轉(zhuǎn)換。
[0208]在框1108中,每一個時間序列記錄可以被分析,并且降維轉(zhuǎn)換可在框1110中被應(yīng)用于該記錄,并且在框1112中作為經(jīng)轉(zhuǎn)換的數(shù)據(jù)集的一部分被存儲
[0209]在某些情況下,在框1114中,經(jīng)轉(zhuǎn)換的數(shù)據(jù)集可被顯示。
[0210]在框1116中,可對經(jīng)轉(zhuǎn)換的數(shù)據(jù)集執(zhí)行聚類分析。在框1118中,經(jīng)轉(zhuǎn)換的數(shù)據(jù)集可與聚類標識符一起顯示。
[0211]圖12是示出用于在標識應(yīng)用的性能異常時使用降維分析轉(zhuǎn)換的方法的實施例1200的流程圖示。實施例1200可例示可與跟蹤器一起布署的實時分析器(類似于實施例200的實時分析器250)的操作。
[0212]其它實施例可使用不同的排序、更多或更少的步驟、以及不同的命名或術(shù)語來完成相似功能。在一些實施例中,各種操作或操作集合可與其它操作以同步或異步方式并行地執(zhí)行。此處所選的步驟是為了以簡化的形式例示出一些操作原理而被選出的。
[0213]在框1202中,可接收降維分析轉(zhuǎn)換。轉(zhuǎn)換可以是方程或其它數(shù)學轉(zhuǎn)換的形式。
[0214]在框1204中,可接收跟蹤器數(shù)據(jù)。跟蹤器數(shù)據(jù)可以是最近觀測到的時間序列記錄。在框1206中,該記錄可被轉(zhuǎn)換以生成經(jīng)轉(zhuǎn)換的記錄。
[0215]經(jīng)轉(zhuǎn)換的記錄可以是一個向量,該向量可與之前觀測到的數(shù)據(jù)點進行比較。當前數(shù)據(jù)和歷史數(shù)據(jù)之間的差距可以使用余弦相似度或其它計算來計算。當差距相對較小時,當前觀測到的數(shù)據(jù)點可與歷史數(shù)據(jù)類似,而當差距相對較大時,當前觀測到的數(shù)據(jù)點可被認為是異常。
[0216]在框1210中,可將該差距與一組預定義的限值作比較。當差距在限值范圍內(nèi)時,過程可返回到框1204以分析下一個時間序列數(shù)據(jù)點。
[0217]可以將差距與歷史記錄中的最接近的數(shù)據(jù)點進行比較,或者可針對從歷史數(shù)據(jù)中推導出的聚類定義來執(zhí)行。當使用聚類定義來測量差距時,可以執(zhí)行統(tǒng)計測試以確定數(shù)據(jù)點是否可能是之前觀測到的多組數(shù)據(jù)點中的任何一組的成員。
[0218]當在框1210中距離位于的限值之外時,在框1212中,可分析最近的觀測歷史以找出異常表現(xiàn)的趨勢。當在框1214中趨勢位于預定義的限值之內(nèi)時,過程可返回到框1204以分析下一個時間序列數(shù)據(jù)點。當在框1214中趨勢位于預定義的限值之外時,在框1216中可生成警告。
[0219]實施例1200例示了一種用于分析當前觀測到的跟蹤器數(shù)據(jù)的方法。這一方法可被應(yīng)用于預測的時間序列,諸如例如在實施例100中例示的時間序列預測。在這一方法中,可通過分析之前的時間序列并估計可能發(fā)生的時間序列來創(chuàng)建預測時間序列。預測時間序列可使用降維分析轉(zhuǎn)換來分析,并且可與如實施例1200中所定義的其它數(shù)據(jù)點或聚類進行比較。
[0220]對本發(fā)明的上述描述是出于圖示和描述的目的而呈現(xiàn)的。它不旨在窮舉本主題或?qū)⒈局黝}限于所公開的精確形式,并且鑒于上述教導其它修改和變型都是可能的。選擇并描述實施例來最好地解釋本發(fā)明的原理及其實踐應(yīng)用,由此使本領(lǐng)域的其它技術(shù)人員能夠在各種實施例和各種適于所構(gòu)想的特定用途的修改中最好地利用本發(fā)明。所附權(quán)利要求書旨在被解釋為包括除受現(xiàn)有技術(shù)所限的范圍以外的其它替換實施例。
【主權(quán)項】
1.使用搜索技術(shù)的計算機性能預測一種在至少一個計算機處理器上執(zhí)行的方法,所述方法包括: 接收第一時間序列片段,所述第一時間序列片段包括在執(zhí)行第一計算機應(yīng)用時觀測到的性能數(shù)據(jù); 從歷史數(shù)據(jù)庫中標識第二時間序列片段,所述歷史數(shù)據(jù)庫包括執(zhí)行所述第一計算機應(yīng)用時觀測到的時間序列,所述第二時間序列片段類似于所述第一時間序列片段; 從所述歷史數(shù)據(jù)庫中標識第三時間序列片段,所述第三時間序列在順序上在所述第二時間序列片段之后;以及 基于所述第三時間序列片段來創(chuàng)建預測。2.如權(quán)利要求1所述的方法,其特征在于,進一步包括: 從所述歷史數(shù)據(jù)庫中標識第四時間序列片段,所述第四時間序列片段類似于所述第一時間序列片段; 從所述歷史數(shù)據(jù)庫中標識第五時間序列片段,所述第五時間序列在順序上在所述第四時間序列片段之后;以及 基于所述第三時間序列片段和所述第五時間片段來創(chuàng)建所述預測。3.如權(quán)利要求2所述的方法,其特征在于,所述預測至少通過用第一權(quán)重來加權(quán)所述第三時間序列并且用第二權(quán)重來加權(quán)所述第五時間序列來創(chuàng)建。4.如權(quán)利要求2的方法,其特征在于,所述歷史數(shù)據(jù)庫包括多個時間序列,所述時間序列中的至少一個時間序列是在第一執(zhí)行平臺上執(zhí)行所述第一計算機應(yīng)用時的觀測,并且所述時間序列中的至少第二個時間序列是在第二執(zhí)行平臺上執(zhí)行所述第一計算機應(yīng)用時的觀測。5.如權(quán)利要求4的方法,其特征在于,所述第三時間序片段是來自所述第一執(zhí)行平臺的觀測,并且所述第五時間序片段是來自所述第二執(zhí)行平臺的觀測。6.如權(quán)利要求4的方法,其特征在于,所述歷史數(shù)據(jù)庫進一步包括作為執(zhí)行第二計算機應(yīng)用時的觀測的至少一個時間序列。7.如權(quán)利要求6的方法,其特征在于,所述第三時間序片段是來自所述第一計算機應(yīng)用的觀測,并且所述第五時間序片段是來自所述第二計算機應(yīng)用的觀測。8.如權(quán)利要求7的方法,其特征在于,所述第一計算機應(yīng)用是所述第二計算機應(yīng)用的一個版本。9.如權(quán)利要求1所述的方法,其特征在于,所述性能數(shù)據(jù)包括所述第一應(yīng)用內(nèi)的第一函數(shù)和第二函數(shù)的性能數(shù)據(jù)。10.如權(quán)利要求9所述的方法,其特征在于,所述性能數(shù)據(jù)包括針對所述時間序列中的一個時間間隔的聚合的性能數(shù)據(jù)。11.一種系統(tǒng),包括: 處理器; 數(shù)據(jù)庫,所述數(shù)據(jù)庫包括表示通過跟蹤第一應(yīng)用而得到的性能觀測的多個時間序列; 搜索引擎,所述搜索引擎: 接收第一時間序列片段,所述第一時間序列片段包括在執(zhí)行所述第一計算機應(yīng)用時觀測到的性能數(shù)據(jù); 從所述歷史數(shù)據(jù)庫中標識第二時間序列片段,所述第二時間序列片段類似于所述第一時間序列片段;并且 返回所述第二時間序列片段, 分析引擎,所述分析引擎: 從所述歷史數(shù)據(jù)庫中標識第三時間序列片段,所述第三時間序列在順序上在所述第二時間序列片段之后;以及 基于所述第三時間序列片段來創(chuàng)建預測。12.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述搜索引擎還: 從所述歷史數(shù)據(jù)庫中標識第四時間序列片段,所述第四時間序列片段類似于所述第一時間序列片段; 所述分析引擎還: 從所述歷史數(shù)據(jù)庫中標識第五時間序列片段,所述第五時間序列在順序上在所述第四時間序列片段之后;并且 基于所述第三時間序列片段和所述第五時間片段來創(chuàng)建所述預測。13.如權(quán)利要求12所述的系統(tǒng),其特征在于,所述預測至少通過用第一權(quán)重來加權(quán)所述第三時間序列并且用第二權(quán)重來加權(quán)所述第五時間序列來創(chuàng)建。14.如權(quán)利要求12的系統(tǒng),其特征在于,所述歷史數(shù)據(jù)庫包括多個時間序列,所述時間序列中的至少一個時間序列是在第一執(zhí)行平臺上執(zhí)行所述第一計算機應(yīng)用時的觀測,并且所述時間序列中的至少第二個時間序列是在第二執(zhí)行平臺上執(zhí)行所述第一計算機應(yīng)用時的觀測。15.如權(quán)利要求14的系統(tǒng),其特征在于,所述第三時間序片段是來自所述第一執(zhí)行平臺的觀測,并且所述第五時間序片段是來自所述第二執(zhí)行平臺的觀測。16.如權(quán)利要求14所述的系統(tǒng),其特征在于,所述歷史數(shù)據(jù)庫進一步包括作為執(zhí)行第二計算機應(yīng)用時的觀測的至少一個時間序列。17.如權(quán)利要求16所述的系統(tǒng),其特征在于,所述第三時間序片段是來自所述第一計算機應(yīng)用的觀測,并且所述第五時間序片段是來自所述第二計算機應(yīng)用的觀測。18.如權(quán)利要求17所述的系統(tǒng),其特征在于,所述第一計算機應(yīng)用是所述第二計算機應(yīng)用的一個版本。19.如權(quán)利要求11所述的系統(tǒng),其特征在于,所述性能數(shù)據(jù)包括所述第一應(yīng)用內(nèi)的第一函數(shù)和第二函數(shù)的性能數(shù)據(jù)。20.如權(quán)利要求19所述的系統(tǒng),其特征在于,所述性能數(shù)據(jù)包括針對所述時間序列中的一個時間間隔的聚合的性能數(shù)據(jù)。 計算機應(yīng)用的表現(xiàn)聚類的可視化21.—種在至少一個計算機處理器上執(zhí)行的方法,所述方法包括: 生成表示通過跟蹤計算機應(yīng)用而收集到的第一時間序列的降維轉(zhuǎn)換,所述第一時間序列包括在所述第一時間序列的每一觀測處的多個函數(shù)的性能數(shù)據(jù),所述多個函數(shù)中的每一個函數(shù)是所述計算機應(yīng)用的一部分; 接收通過跟蹤計算機應(yīng)用而收集到的第二時間序列并且應(yīng)用所述降維轉(zhuǎn)換以生成經(jīng)轉(zhuǎn)換的數(shù)據(jù)集;以及 使所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集被顯示。22.如權(quán)利要求21所述的方法,其特征在于,所述性能觀測包括所述多個函數(shù)中的每一個函數(shù)的資源利用率。23.如權(quán)利要求22所述的方法,其特征在于,所述資源利用率是下列各項組成的組中的至少一個: 存儲器利用率; 處理器利用率;以及 網(wǎng)絡(luò)利用率。24.如權(quán)利要求21所述的方法,其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集以二維顯示。25.如權(quán)利要求21所述的方法,其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集以三維顯示。26.如權(quán)利要求21所述的方法,其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集使用示出所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集中的所述觀測的順序的動畫來顯示。27.如權(quán)利要求26所述的方法,其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集被至少近實時地顯不O28.如權(quán)利要求21所述的方法,其特征在于,所述函數(shù)中的至少一些函數(shù)是函數(shù)庫的一部分。29.如權(quán)利要求21所述的方法,其特征在于,進一步包括: 接收預測觀測,所述預測觀測是基于所述第二時間序列來預測的; 應(yīng)用所述降維轉(zhuǎn)換來生產(chǎn)經(jīng)轉(zhuǎn)換的預測觀測;以及 使所述經(jīng)轉(zhuǎn)換的預測觀測被顯示。30.—種系統(tǒng),包括: 至少一個計算機處理器; 在所述至少一個計算機處理器上執(zhí)行的降維分析器,所述降維分析器: 生成表示通過跟蹤計算機應(yīng)用而收集到的第一時間序列的降維轉(zhuǎn)換,所述第一時間序列包括在所述第一時間序列的每一觀測處的多個函數(shù)的性能數(shù)據(jù),所述多個函數(shù)中的每一個函數(shù)是所述計算機應(yīng)用的一部分; 顯示引擎,所述顯示引擎: 接收通過跟蹤所述計算機應(yīng)用而收集到的第二時間序列并且應(yīng)用所述降維轉(zhuǎn)換以生成經(jīng)轉(zhuǎn)換的數(shù)據(jù)集;以及 使所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集被顯示。31.如權(quán)利要求30所述的系統(tǒng),其特征在于,所述性能觀測包括所述多個函數(shù)中的每一個函數(shù)的資源利用率。32.如權(quán)利要求31所述的系統(tǒng),其特征在于,所述資源利用率是下列各項組成的組中的至少一個: 存儲器利用率; 處理器利用率;以及 網(wǎng)絡(luò)利用率。33.如權(quán)利要求30所述的系統(tǒng),其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集以二維顯示。34.如權(quán)利要求30所述的系統(tǒng),其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集以三維顯示。35.如權(quán)利要求30所述的系統(tǒng),其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集使用示出所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集中的所述觀測的順序的動畫來顯示。36.如權(quán)利要求35所述的系統(tǒng),其特征在于,所述經(jīng)轉(zhuǎn)換的數(shù)據(jù)集被至少近實時地顯不O37.如權(quán)利要求30所述的系統(tǒng),其特征在于,所述函數(shù)中的至少一些函數(shù)是函數(shù)庫的一部分。 用于計算機應(yīng)用的表現(xiàn)聚類分析和警報系統(tǒng)38.—種在至少一個計算機處理器上執(zhí)行的方法,所述方法包括: 生成表示通過跟蹤計算機應(yīng)用而收集到的第一時間序列的降維轉(zhuǎn)換,所述第一時間序列包括在所述第一時間序列的每一觀測處的多個函數(shù)的性能數(shù)據(jù),所述多個函數(shù)中的每一個函數(shù)是所述計算機應(yīng)用的一部分; 將所述降維轉(zhuǎn)換應(yīng)用于之前觀測到的時間序列以生成經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù); 接收當前時間序列數(shù)據(jù)集并應(yīng)用所述降維轉(zhuǎn)換以生成經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集;將所述經(jīng)轉(zhuǎn)換的時間序列數(shù)據(jù)集與所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較以從所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集中標識異常觀測。39.如權(quán)利要求38所述的方法,其特征在于,進一步包括: 對所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)執(zhí)行聚類分析以在所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)內(nèi)生成聚類定義。40.如權(quán)利要求39所述的方法,其特征在于,所述比較所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集包括相對于所述聚類定義確定所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集中的第一觀測是是反常值。41.如權(quán)利要求38所述的方法,其特征在于,還包括基于所述異常觀測來生成警報。42.如權(quán)利要求38所述的方法,其特征在于,進一步包括: 確定預測時間序列觀測; 通過將所述降維轉(zhuǎn)換應(yīng)用于所述預測時間序列觀測來生成預測的經(jīng)轉(zhuǎn)換的觀測;以及 將所述預測的經(jīng)轉(zhuǎn)換的觀測與所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較來標識預測的反常值。43.如權(quán)利要求42所述的方法,其特征在于,還包括基于所述預測的經(jīng)轉(zhuǎn)換的觀測來生成警報。44.如權(quán)利要求42所述的方法,其特征在于,所述預測時間序列觀測是通過分析具有至少一個類似時間序列片段的時間序列來進行的。45.—種系統(tǒng),包括: 處理器; 存儲器; 在所述處理器和所述存儲器上工作的分析器,所述分析器: 接收表示通過跟蹤計算機應(yīng)用而收集到的第一時間序列的降維轉(zhuǎn)換,所述第一時間序列包括在所述第一時間序列的每一觀測處的多個函數(shù)的性能數(shù)據(jù),所述多個函數(shù)中的每一個函數(shù)是所述計算機應(yīng)用的一部分; 將所述降維轉(zhuǎn)換應(yīng)用于之前觀測到的時間序列以生成經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù); 接收當前時間序列數(shù)據(jù)集并應(yīng)用所述降維轉(zhuǎn)換以生成經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集; 將所述經(jīng)轉(zhuǎn)換的時間序列數(shù)據(jù)集與所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較以從所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集中標識異常觀測。46.如權(quán)利要求45所述的系統(tǒng),其特征在于,所述分析器進一步: 接收所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)內(nèi)的聚類定義。47.如權(quán)利要求46所述的系統(tǒng),其特征在于,所述分析器進一步: 相對于所述聚類定義確定所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集包括確定所述經(jīng)轉(zhuǎn)換的當前時間序列數(shù)據(jù)集中的第一觀測是反常值。48.如權(quán)利要求45所述的系統(tǒng),其特征在于,還包括基于所述異常觀測來生成警報。49.如權(quán)利要求45所述的系統(tǒng),其特征在于,所述分析引擎還: 確定預測時間序列觀測; 通過將所述降維轉(zhuǎn)換應(yīng)用于所述預測時間序列觀測來生成預測的經(jīng)轉(zhuǎn)換的觀測;以及 將所述預測的經(jīng)轉(zhuǎn)換的觀測與所述經(jīng)轉(zhuǎn)換的歷史數(shù)據(jù)作比較來標識預測的反常值。50.如權(quán)利要求49所述的系統(tǒng),其特征在于,還包括基于所述預測的經(jīng)轉(zhuǎn)換的觀測來生成警報。51.如權(quán)利要求49所述的系統(tǒng),其特征在于,所述預測時間序列觀測是通過分析具有至少一個類似時間序列片段的時間序列來進行的。 使用計算機應(yīng)用的歷史時間序列觀測的事件預測52.—種在至少一個計算機處理器上執(zhí)行的方法,所述方法包括: 標識在監(jiān)控計算機應(yīng)用時發(fā)生的第一事件; 在歷史數(shù)據(jù)庫中搜索所述第一事件,所述歷史數(shù)據(jù)庫包括對所述計算機應(yīng)用的時間序列觀測,并且返回所述第一事件的一組實例; 標識多個時間序列實例,所述時間序列實例中的每一個都是在所述第一事件的實例之前的時間序列片段; 組合所述多個時間序列實例以創(chuàng)建參考時間序列,所述參考時間序列是所述第一事件的前兆。53.如權(quán)利要求52所述的方法,其特征在于,所述時間序列觀測包括對所述計算機應(yīng)用中包括的多個函數(shù)中的每一個函數(shù)的性能觀測。54.如權(quán)利要求53所述的方法,其特征在于,所述參考時間序列包括用于第一函數(shù)的第一組性能參數(shù)以及用于第二函數(shù)的第二組性能參數(shù),所述第一函數(shù)和所述第二函數(shù)被包括在所述計算機應(yīng)用中。55.如權(quán)利要求54所述的方法,其特征在于,所述第一函數(shù)和所述第二函數(shù)在第一計算機設(shè)備上執(zhí)行。56.如權(quán)利要求54所述的方法,其特征在于,所述第一函數(shù)在第一設(shè)備上執(zhí)行,而所述第二函數(shù)在第二設(shè)備上執(zhí)行。57.如權(quán)利要求54所述的方法,其特征在于,所述第一組性能參數(shù)包括所述第一函數(shù)的資源消耗參數(shù)。58.如權(quán)利要求52所述的方法,其特征在于,所述第一事件被定義在第一時間序列片段中。59.如權(quán)利要求58所述的方法,其特征在于,所述搜索包括搜索類似于所述第一時間序列片段的一組時間序列片段,所述一組時間序列片段中的每一個時間序列片段表示所述第一事件的所述一組實例中的一個實例。60.如權(quán)利要求59所述的方法,其特征在于,所述搜索還包括確定所述實例中的每一個的顯著因子,所述顯著因子是所述實例和所述第一時間序列片段之間的相關(guān)程度。61.如權(quán)利要求60所述的方法,其特征在于,所述顯著因子至少部分使用余弦相似度來推導。62.如權(quán)利要求52所述的方法,其特征在于,所述時間序列觀測包括對作為所述計算機應(yīng)用的一部分執(zhí)行的函數(shù)的觀測。63.如權(quán)利要求52所述的方法,其特征在于,所述時間序列觀測包括從多個設(shè)備聚合的觀測。64.如權(quán)利要求63所述的方法,其特征在于,所述多個設(shè)備中的每一個設(shè)備并行執(zhí)行所述計算機應(yīng)用。65.如權(quán)利要求63所述的方法,其特征在于,第一設(shè)備執(zhí)行第一可執(zhí)行代碼并且第二設(shè)備執(zhí)行第二可執(zhí)行代碼,所述第一可執(zhí)行代碼和所述第二可執(zhí)行代碼被包括在所述計算機應(yīng)用中。66.如權(quán)利要求52所述的方法,其特征在于,所述第一事件由標識所述第一事件的用戶輸入標識。67.如權(quán)利要求66所述的方法,其特征在于,從用戶接口接收的所述用戶輸入包括解說來自所述計算機應(yīng)用的觀測的時間線表示。68.如權(quán)利要求52所述的方法,其特征在于,所述第一事件通過標識所述歷史數(shù)據(jù)庫中的性能異常來標識。69.如權(quán)利要求68所述的方法,其特征在于,所述性能異常通過搜索所述歷史數(shù)據(jù)庫來標識O70.—種由計算機處理器執(zhí)行的方法,所述方法包括:接收參考時間序列片段,所述參考時間序列片段是計算機應(yīng)用時的第一事件的前兆; 在所述計算機應(yīng)用執(zhí)行時監(jiān)控所述計算機應(yīng)用,并且收集來自所述計算機應(yīng)用的性能觀測,所述性能觀測被包括在性能觀測的時間序列中; 將所述參考時間序列片段與所述性能觀測的時間序列作比較;以及 確定所述參考時間序列片段與所述性能觀測的時間序列相關(guān)并且生成對于所述第一事件的預測警報。71.如權(quán)利要求70所述的方法,其特征在于,所述性能觀測包括針對第一函數(shù)和第二函數(shù)的性能觀測,所述第一函數(shù)和所述第二函數(shù)都在所述計算機應(yīng)用內(nèi)。72.如權(quán)利要求71所述的方法,其特征在于,所述第一函數(shù)和所述第二函數(shù)在第一設(shè)備上執(zhí)行。73.如權(quán)利要求71所述的方法,其特征在于,所述第一函數(shù)在第一設(shè)備上執(zhí)行,而所述第二函數(shù)在第二設(shè)備上執(zhí)行。74.—種系統(tǒng),包括: 至少一個處理器; 事件分析器,所述事件分析器: 標識在監(jiān)控計算機應(yīng)用時發(fā)生的第一事件; 確定所述第一事件的一組性能描述符; 在所述至少一個處理器上執(zhí)行的搜索引擎,所述搜索引擎: 在歷史數(shù)據(jù)庫中搜索所述一組性能描述符,所述歷史數(shù)據(jù)庫包括對所述計算機應(yīng)用的時間序列觀測,并且返回所述第一事件的一組實例; 參考分析器,所述參考分析器: 標識多個時間序列實例,所述時間序列實例中的每一個時間序列實例都是在所述第一事件的實例之前的時間序列片段; 組合所述多個時間序列實例以創(chuàng)建參考時間序列,所述參考時間序列是所述第一事件的前兆。75.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述時間序列觀測包括針對所述計算機應(yīng)用中包括的多個函數(shù)中的每一個函數(shù)的性能觀測。76.如權(quán)利要求75所述的系統(tǒng),其特征在于,所述參考時間序列包括用于第一函數(shù)的第一組性能參數(shù)以及用于第二函數(shù)的第二組性能參數(shù),所述第一函數(shù)和所述第二函數(shù)被包括在所述計算機應(yīng)用中。77.如權(quán)利要求76所述的系統(tǒng),其特征在于,所述第一函數(shù)和所述第二函數(shù)在第一計算機設(shè)備上執(zhí)行。78.如權(quán)利要求76所述的系統(tǒng),其特征在于,所述第一函數(shù)在第一設(shè)備上執(zhí)行,而所述第二函數(shù)在第二設(shè)備上執(zhí)行。79.如權(quán)利要求76所述的系統(tǒng),其特征在于,所述第一組性能參數(shù)包括所述第一函數(shù)的資源消耗參數(shù)。80.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述一組性能描述符包括第一時間序列片段,所述第一時間序列片段包括所述第一事件。81.如權(quán)利要求80所述的系統(tǒng),其特征在于,所述搜索包括搜索類似于所述第一時間序列片段的一組時間序列片段,所述一組時間序列片段中的每一個時間序列片段表示所述第一事件的所述一組實例中的一個實例。82.如權(quán)利要求81所述的系統(tǒng),其特征在于,所述搜索還包括確定所述實例中的每一個實例的顯著因子,所述顯著因子是所述實例和所述第一時間序列片段之間的相關(guān)程度。83.如權(quán)利要求82所述的系統(tǒng),其特征在于,所述顯著因子至少部分使用余弦相似度來推導。84.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述時間序列觀測包括對作為所述計算機應(yīng)用的一部分執(zhí)行的函數(shù)的觀測。85.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述時間序列觀測包括從多個設(shè)備聚合的觀測。86.如權(quán)利要求85所述的系統(tǒng),其特征在于,所述多個設(shè)備中的每一個設(shè)備并行執(zhí)行所述計算機應(yīng)用。87.如權(quán)利要求85所述的系統(tǒng),其特征在于,第一設(shè)備執(zhí)行第一可執(zhí)行代碼并且第二設(shè)備執(zhí)行第二可執(zhí)行代碼,所述第一可執(zhí)行代碼和所述第二可執(zhí)行代碼被包括在所述計算機應(yīng)用中。88.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述第一事件由標識所述第一事件的用戶輸入標識。89.如權(quán)利要求88所述的系統(tǒng),其特征在于,從用戶接口接收的所述用戶輸入包括解說來自所述計算機應(yīng)用的觀測的時間線表示。90.如權(quán)利要求74所述的系統(tǒng),其特征在于,所述第一事件通過標識所述歷史數(shù)據(jù)庫中的性能異常來標識。91.如權(quán)利要求90所述的系統(tǒng),其特征在于,所述性能異常通過搜索所述歷史數(shù)據(jù)庫來標識O
【文檔編號】G06F17/00GK106030565SQ201480074031
【公開日】2016年10月12日
【申請日】2014年3月28日
【發(fā)明人】T·瑟托
【申請人】微軟技術(shù)許可有限責任公司