本發(fā)明涉及集群性能監(jiān)控技術(shù)領(lǐng)域,尤其涉及一種集群異常節(jié)點(diǎn)檢測方法、應(yīng)用和計(jì)算設(shè)備。
背景技術(shù):
集群是一組相互獨(dú)立、通過高速網(wǎng)絡(luò)互聯(lián)的計(jì)算設(shè)備的集合,并以單一系統(tǒng)的模式加以管理,從外部看來像是一個(gè)獨(dú)立的服務(wù)器。集群具有高可用性和高可擴(kuò)展性,通常具有大量的設(shè)備節(jié)點(diǎn)。為了保證集群的正常、高效運(yùn)行,集群中通常配置有適當(dāng)?shù)恼{(diào)度算法,以使集群實(shí)現(xiàn)負(fù)載均衡,集群的各節(jié)點(diǎn)平均地分?jǐn)偺幚砀黜?xiàng)負(fù)載任務(wù),各節(jié)點(diǎn)的行為是高度一致的。
在正常情況下,集群中各節(jié)點(diǎn)均保持一致,當(dāng)某些節(jié)點(diǎn)出現(xiàn)異常時(shí),異常節(jié)點(diǎn)的行為將與大部分正常節(jié)點(diǎn)不同,因此,可以將集群中與大部分節(jié)點(diǎn)的行為不一致的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。在現(xiàn)有的集群異常節(jié)點(diǎn)檢測方法中,首先獲取集群中各節(jié)點(diǎn)的性能數(shù)據(jù),然后求取性能數(shù)據(jù)的中位數(shù),將距中位數(shù)的距離大于一定閾值的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。該方法雖然計(jì)算簡便,但不同的閾值將得出不同的異常檢測結(jié)果,對于閾值的設(shè)定缺少系統(tǒng)的方法,導(dǎo)致該方法受人為因素的干擾較大,往往準(zhǔn)確性不高。
技術(shù)實(shí)現(xiàn)要素:
為此,本發(fā)明提供一種集群異常節(jié)點(diǎn)檢測方法、應(yīng)用和計(jì)算設(shè)備,以力圖解決或至少緩解上面存在的問題。
根據(jù)本發(fā)明的一個(gè)方面,提供一種集群異常節(jié)點(diǎn)檢測方法,包括:獲取集群中每一個(gè)節(jié)點(diǎn)的性能數(shù)據(jù);根據(jù)所述性能數(shù)據(jù)確定集群中的每一對節(jié)點(diǎn)的相似性;根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類;當(dāng)最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半時(shí),將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,在獲取集群中每一個(gè)節(jié)點(diǎn)的性能數(shù)據(jù)的步驟后,還包括:將性能數(shù)據(jù)進(jìn)行歸一化處理。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,性能數(shù)據(jù)包括固定數(shù)量的一個(gè)或多個(gè)性能指標(biāo),一對節(jié)點(diǎn)的相似性按照以下步驟確定:分別確定該對節(jié)點(diǎn)的各性能指標(biāo)的相似性;當(dāng)相似的性能指標(biāo)的數(shù)目大于等于預(yù)設(shè)的閾值時(shí),將該對節(jié)點(diǎn)判定為相似。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,固定數(shù)量為6,預(yù)設(shè)的閾值為3。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,性能指標(biāo)的相似性按照如下步驟確定:采用KS檢驗(yàn)算法確定性能指標(biāo)的相似度;當(dāng)相似度大于相似度閾值時(shí),將性能指標(biāo)判定為相似。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,采用KS檢驗(yàn)算法確定性能指標(biāo)的相似度的步驟包括:分別計(jì)算該對節(jié)點(diǎn)的該性能指標(biāo)的累積分布函數(shù)F1(x)和F2(x);按照以下公式計(jì)算相似度
D=max(F1(xj)-F2(xj))
其中,D表示相似度,xj為F1(x)曲線和F2(x)曲線對應(yīng)的橫坐標(biāo)上的任意一點(diǎn)。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測方法中,根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類的步驟包括:以集群中的節(jié)點(diǎn)為點(diǎn)建立網(wǎng)絡(luò)圖;在每一對相似的節(jié)點(diǎn)之間建立一條邊;確定所述網(wǎng)絡(luò)圖的最大連通子圖,所述最大連通子圖即為最大節(jié)點(diǎn)類。
根據(jù)本發(fā)明的一個(gè)方面,提供一種集群異常節(jié)點(diǎn)檢測應(yīng)用,包括:數(shù)據(jù)獲取模塊,適于獲取集群中每一個(gè)節(jié)點(diǎn)的性能數(shù)據(jù);相似性分析模塊,適于根據(jù)所述性能數(shù)據(jù)確定集群中的每一對節(jié)點(diǎn)的相似性;節(jié)點(diǎn)類劃分模塊,適于根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類;異常判定模塊,適于判斷最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目是否大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半,若是,則將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,還包括數(shù)據(jù)預(yù)處理模塊,適于將性能數(shù)據(jù)進(jìn)行歸一化處理。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,性能數(shù)據(jù)包括固定數(shù)量的一個(gè)或多個(gè)性能指標(biāo),所述相似性分析模塊適于按照以下步驟確定一對節(jié)點(diǎn)的相似性:分別確定該對節(jié)點(diǎn)的各性能指標(biāo)的相似性;當(dāng)相似的性能指標(biāo)的數(shù)目大于等于預(yù)設(shè)的閾值時(shí),將該對節(jié)點(diǎn)判定為相似。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,固定數(shù)量為6,預(yù)設(shè)的閾值為3。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,相似性分析模塊適于按照以下步驟確定性能指標(biāo)的相似性:采用KS檢驗(yàn)算法確定性能指標(biāo)的相似度;當(dāng)相似度大于相似度閾值時(shí),將性能指標(biāo)判定為相似。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,相似性分析模塊適于按照以下步驟確定性能指標(biāo)的相似度:分別計(jì)算該對節(jié)點(diǎn)的該性能指標(biāo)的累積分布函數(shù)F1(x)和F2(x);按照以下公式計(jì)算相似度
D=max(F1(xj)-F2(xj))
其中,D表示相似度,xj為F1(x)曲線和F2(x)曲線對應(yīng)的橫坐標(biāo)上的任意一點(diǎn)。
可選地,在根據(jù)本發(fā)明的集群異常節(jié)點(diǎn)檢測分析應(yīng)用中,節(jié)點(diǎn)類劃分模塊進(jìn)一步適于按照以下步驟確定最大節(jié)點(diǎn)類:以集群中的節(jié)點(diǎn)為點(diǎn)建立網(wǎng)絡(luò)圖;在每一對相似的節(jié)點(diǎn)之間建立一條邊;確定所述網(wǎng)絡(luò)圖的最大連通子圖,所述最大連通子圖即為最大節(jié)點(diǎn)類。
根據(jù)本發(fā)明的一個(gè)方面,提供一種計(jì)算設(shè)備,包括如上所述的集群異常節(jié)點(diǎn)檢測應(yīng)用。
根據(jù)本發(fā)明的技術(shù)方案,對于集群中的節(jié)點(diǎn),兩兩進(jìn)行相似性分析,根據(jù)每對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類作為最大節(jié)點(diǎn)類。若最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半,則將最大節(jié)點(diǎn)類中的節(jié)點(diǎn)判定為正常節(jié)點(diǎn),將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。
本發(fā)明在判定兩個(gè)節(jié)點(diǎn)是否相似時(shí),綜合考慮了多個(gè)性能指標(biāo),避免了僅由單一性能指標(biāo)來確定節(jié)點(diǎn)相似性的片面性,提高了異常檢測的準(zhǔn)確性。此外,在確定性能指標(biāo)的相似性時(shí),采用了KS檢驗(yàn)算法,無需像傳統(tǒng)的基于中位數(shù)偏離的檢測方法一樣設(shè)置閾值,降低了人為因素對于異常檢測結(jié)果的影響,準(zhǔn)確度較高。
附圖說明
為了實(shí)現(xiàn)上述以及相關(guān)目的,本文結(jié)合下面的描述和附圖來描述某些說明性方面,這些方面指示了可以實(shí)踐本文所公開的原理的各種方式,并且所有方面及其等效方面旨在落入所要求保護(hù)的主題的范圍內(nèi)。通過結(jié)合附圖閱讀下面的詳細(xì)描述,本公開的上述以及其它目的、特征和優(yōu)勢將變得更加明顯。遍及本公開,相同的附圖標(biāo)記通常指代相同的部件或元素。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群100的示意圖;
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群異常節(jié)點(diǎn)檢測應(yīng)用200的結(jié)構(gòu)圖;
圖3A和圖3B示出了根據(jù)本發(fā)明兩個(gè)實(shí)施例的節(jié)點(diǎn)類劃分和異常節(jié)點(diǎn)判定的示意圖;以及
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群異常節(jié)點(diǎn)檢測方法400的流程圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群100的示意圖。如圖1所示,集群100包括多個(gè)計(jì)算設(shè)備110-160,每個(gè)計(jì)算設(shè)備均為集群中的一個(gè)節(jié)點(diǎn)。計(jì)算設(shè)備110-160可以是服務(wù)器、工作站、桌面電腦、筆記本電腦等,但不限于此。集群100中的一個(gè)或多個(gè)節(jié)點(diǎn)中部署有資源調(diào)度應(yīng)用,適于對集群中的節(jié)點(diǎn)進(jìn)行資源調(diào)度管理,以實(shí)現(xiàn)各節(jié)點(diǎn)的負(fù)載均衡。
計(jì)算設(shè)備160中駐留有集群異常節(jié)點(diǎn)檢測應(yīng)用200和性能數(shù)據(jù)采集器300。性能數(shù)據(jù)采集器300適于采集集群100的性能數(shù)據(jù)。性能數(shù)據(jù)中包括固定數(shù)量的一個(gè)或多個(gè)性能指標(biāo),性能指標(biāo)例如可以是CPU利用率、內(nèi)存使用量、任務(wù)吞吐量、任務(wù)響應(yīng)時(shí)間、某個(gè)Web事務(wù)的調(diào)用次數(shù)、垃圾回收頻率等,但不限于此。性能數(shù)據(jù)為各性能指標(biāo)在不同時(shí)刻的觀測值,每個(gè)性能指標(biāo)均對應(yīng)于一個(gè)由多個(gè)觀測值構(gòu)成的時(shí)間序列。
根據(jù)一種實(shí)施例,固定數(shù)量為6,即性能數(shù)據(jù)采集器300適于采集集群100中每個(gè)節(jié)點(diǎn)的6個(gè)性能指標(biāo)數(shù)據(jù),這6個(gè)性能指標(biāo)可以是同一類型,也可以是不同類型。例如,性能數(shù)據(jù)可以包括針對于某個(gè)Web事務(wù)的調(diào)用次數(shù)、平均響應(yīng)時(shí)間、平均執(zhí)行時(shí)間、最大響應(yīng)時(shí)間、最小響應(yīng)時(shí)間和響應(yīng)時(shí)間的方差這6個(gè)同一類型的性能指標(biāo),也可以包括CPU利用率、內(nèi)存使用量、磁盤剩余空間、任務(wù)吞吐量、任務(wù)響應(yīng)時(shí)間和垃圾回收頻率這6個(gè)不同類型的指標(biāo),本發(fā)明對性能數(shù)據(jù)中所包括的性能指標(biāo)的具體項(xiàng)目不做限制。此外,盡管在上述實(shí)施例中將性能數(shù)據(jù)所包括的性能指標(biāo)的固定數(shù)量設(shè)為6,在其他的實(shí)施例中,也可以將固定數(shù)量設(shè)為其他數(shù)值,本發(fā)明對固定數(shù)量的取值亦無限制。
集群異常節(jié)點(diǎn)檢測應(yīng)用200適于根據(jù)性能數(shù)據(jù)采集器300所采集到的性能數(shù)據(jù)來檢測集群100中的異常節(jié)點(diǎn)。
需要說明的是,盡管圖1示出的駐留有集群異常節(jié)點(diǎn)檢測應(yīng)用200和性能數(shù)據(jù)采集器300的計(jì)算設(shè)備160是集群100的一個(gè)節(jié)點(diǎn),但在其他的實(shí)施例中,計(jì)算設(shè)備160也可以設(shè)置于集群100之外。此外,集群異常節(jié)點(diǎn)檢測應(yīng)用200和性能數(shù)據(jù)采集器300也不局限于駐留于單個(gè)計(jì)算設(shè)備和同一個(gè)計(jì)算設(shè)備,例如,計(jì)算設(shè)備110上也可以部署有應(yīng)用200和300,計(jì)算設(shè)備120中駐留有應(yīng)用200,計(jì)算設(shè)備130中駐留有應(yīng)用300。
圖2示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群異常節(jié)點(diǎn)檢測應(yīng)用200的結(jié)構(gòu)圖。如圖2所示,集群異常節(jié)點(diǎn)檢測應(yīng)用200包括數(shù)據(jù)獲取模塊210、相似性分析模塊220、節(jié)點(diǎn)類劃分模塊230和異常判定模塊240。
數(shù)據(jù)獲取模塊210適于獲取集群中每一個(gè)節(jié)點(diǎn)在預(yù)定時(shí)間段內(nèi)的性能數(shù)據(jù),性能數(shù)據(jù)中包括固定數(shù)量的一個(gè)或多個(gè)性能指標(biāo)。例如,預(yù)定時(shí)間段為180分鐘,固定數(shù)量為6,即,數(shù)據(jù)獲取模塊210可以獲取6個(gè)性能指標(biāo)在最近180分鐘的觀測值序列。根據(jù)一種實(shí)施例,數(shù)據(jù)獲取模塊210可以從性能數(shù)據(jù)采集器300處獲取性能數(shù)據(jù)。
根據(jù)一種實(shí)施例,為了方便后續(xù)的異常節(jié)點(diǎn)檢測過程,由數(shù)據(jù)預(yù)處理模塊250(圖2中未示出)對數(shù)據(jù)獲取模塊210獲取到的性能數(shù)據(jù)進(jìn)行歸一化處理。歸一化處理指的是將原本不具有可比性的性能指標(biāo)處理成具有可比性的性能指標(biāo)。例如,對于CPU利用率這一性能指標(biāo),節(jié)點(diǎn)1的CPU利用率為60%,節(jié)點(diǎn)2的CPU利用率為80%,但我們并不能簡單地認(rèn)為節(jié)點(diǎn)1的CPU利用率優(yōu)于節(jié)點(diǎn)2,因?yàn)榭赡芄?jié)點(diǎn)1占用60%的CPU資源處理了2000個(gè)請求,而節(jié)點(diǎn)2占用了80%的CPU資源處理了5000個(gè)請求,這時(shí),節(jié)點(diǎn)2處理每個(gè)請求所消耗的CPU資源小于節(jié)點(diǎn)1,因此,雖然單從CPU利用率的數(shù)據(jù)上顯示節(jié)點(diǎn)1優(yōu)于節(jié)點(diǎn)2,而實(shí)際上節(jié)點(diǎn)2的性能卻是優(yōu)于節(jié)點(diǎn)1的。為了消除上述數(shù)據(jù)與結(jié)果不一致的情況,需要對CPU利用率進(jìn)行歸一化處理,處理辦法是將CPU利用率除以吞吐量。除了CPU利用率,調(diào)用次數(shù)、平均響應(yīng)時(shí)間、平均執(zhí)行時(shí)間、最大響應(yīng)時(shí)間、最小響應(yīng)時(shí)間等性能指標(biāo)也需要除以吞吐量,以保證異常節(jié)點(diǎn)檢測結(jié)果的準(zhǔn)確性。
在數(shù)據(jù)獲取模塊210獲取了性能數(shù)據(jù)并由數(shù)據(jù)預(yù)處理模塊250對性能數(shù)據(jù)執(zhí)行歸一化處理之后,相似性分析模塊220根據(jù)性能數(shù)據(jù)來確定集群中每一對節(jié)點(diǎn)的相似性。例如,對于有1、2、3、4四個(gè)節(jié)點(diǎn)的集群,需要分別確定1和2、1和3、1和4、2和3、2和4、3和4的相似性。
當(dāng)性能數(shù)據(jù)中僅包括一個(gè)性能指標(biāo)時(shí),相似性分析模塊220在確定某一對節(jié)點(diǎn)的相似性時(shí),首先計(jì)算該對節(jié)點(diǎn)的該性能指標(biāo)的相似性,然后將該性能指標(biāo)的相似性作為該對節(jié)點(diǎn)的相似性。此時(shí),性能指標(biāo)的相似性與節(jié)點(diǎn)的相似性是一致的,若某對節(jié)點(diǎn)的性能指標(biāo)相似,則該對節(jié)點(diǎn)就相似。
性能數(shù)據(jù)包括固定數(shù)量的多個(gè)性能指標(biāo)時(shí),相似性分析模塊220在確定某一對節(jié)點(diǎn)的相似性時(shí),要綜合考慮該對節(jié)點(diǎn)的多個(gè)性能指標(biāo)的相似性。
根據(jù)一種實(shí)施例,相似性分析模塊220采用KS檢驗(yàn)算法來確定性能指標(biāo)的相似性。確定性能指標(biāo)的相似性的具體步驟為:分別計(jì)算某對節(jié)點(diǎn)的某個(gè)性能指標(biāo)的累計(jì)分布函數(shù)F1(x)和F2(x),隨后,按照以下公式計(jì)算相似度
D=max(F1(xj)-F2(xj)) (1)
其中,D表示相似度,xj為F1(x)曲線和F2(x)曲線對應(yīng)的橫坐標(biāo)上的任意一點(diǎn)。若相似度D大于相似度閾值,則將該性能指標(biāo)判定為相似;否則,將該性能指標(biāo)判定為不相似。相似度閾值一般取一個(gè)比較小的數(shù),例如,10^(-10)。
例如,對于節(jié)點(diǎn)1和節(jié)點(diǎn)2的CPU利用率這一性能指標(biāo),數(shù)據(jù)獲取模塊210獲取節(jié)點(diǎn)1和節(jié)點(diǎn)2的CPU利用率的觀測值序列y1、y2后,相似性分析模塊220根據(jù)序列y1、y2分別計(jì)算節(jié)點(diǎn)1和節(jié)點(diǎn)2的CPU利用率的累積分布函數(shù)F1(x)和F2(x)。隨后,按照公式(1)計(jì)算相似度D,若D>10^(-10),則相似性分析模塊220判定節(jié)點(diǎn)1和節(jié)點(diǎn)2的CPU利用率相似;若D≤10^(-10),則判定節(jié)點(diǎn)1和節(jié)點(diǎn)2的CPU利用率不相似。
在確定了各性能指標(biāo)的相似性后,相似性分析模塊220根據(jù)各性能指標(biāo)的相似性來確定節(jié)點(diǎn)的相似性。根據(jù)一種實(shí)施例,當(dāng)相似的性能指標(biāo)的數(shù)目大于等于預(yù)設(shè)的閾值時(shí),相似性分析模塊220將一對節(jié)點(diǎn)判定為相似。例如,性能數(shù)據(jù)中包括6個(gè)性能指標(biāo)(即固定數(shù)量為6),預(yù)設(shè)的閾值為3,若這6個(gè)性能指標(biāo)中至少有3個(gè)性能指標(biāo)相似,則判定該對節(jié)點(diǎn)相似;若相似的性能指標(biāo)的數(shù)目小于3,則判定該對節(jié)點(diǎn)不相似。應(yīng)當(dāng)指出,上述固定數(shù)量和預(yù)設(shè)的閾值的取值僅是示例性的,用戶可以自行設(shè)置二者的取值。
在相似性分析模塊220確定了集群中每一對節(jié)點(diǎn)的相似性后,節(jié)點(diǎn)類劃分模塊230根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類。根據(jù)一種實(shí)施例,節(jié)點(diǎn)類劃分模塊230采用圖論的思想來劃分節(jié)點(diǎn)類,并確定最大節(jié)點(diǎn)類。將集群看作一個(gè)網(wǎng)絡(luò)圖,集群中的節(jié)點(diǎn)即為網(wǎng)絡(luò)圖中的點(diǎn),根據(jù)集群中節(jié)點(diǎn)的相似性來確定網(wǎng)絡(luò)圖中的邊,若某一對節(jié)點(diǎn)相似,則在該對節(jié)點(diǎn)之間建立一條邊。在將集群問題映射為網(wǎng)絡(luò)圖之后,求取最大節(jié)點(diǎn)類的問題即轉(zhuǎn)化為求取網(wǎng)絡(luò)圖的最大連通子圖的問題。節(jié)點(diǎn)類劃分模塊230可以計(jì)算出網(wǎng)絡(luò)圖的所有連通子圖,相應(yīng)地,也確定了最大連通子圖(節(jié)點(diǎn)數(shù)目最多的連通子圖即為最大連通子圖)。網(wǎng)絡(luò)圖的最大連通子圖即對應(yīng)于集群的最大節(jié)點(diǎn)類。當(dāng)然,在其他實(shí)施例中,節(jié)點(diǎn)類劃分模塊230也可以采用其他算法對集群進(jìn)行節(jié)點(diǎn)類劃分并確定最大節(jié)點(diǎn)類,本發(fā)明對實(shí)現(xiàn)節(jié)點(diǎn)類劃分的具體算法不做限制。
節(jié)點(diǎn)類劃分模塊230確定了最大節(jié)點(diǎn)類后,異常判定模塊240判斷最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目是否大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半,若是,則將最大節(jié)點(diǎn)類中的節(jié)點(diǎn)判定為正常節(jié)點(diǎn),將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn);若否,則認(rèn)為本次異常節(jié)點(diǎn)檢測失敗,拋棄本次檢測結(jié)果,并自動執(zhí)行下一次異常節(jié)點(diǎn)檢測(或由用戶指定是否進(jìn)行下一次異常節(jié)點(diǎn)檢測)。
圖3A和圖3B示出了根據(jù)本發(fā)明兩個(gè)實(shí)施例的節(jié)點(diǎn)類劃分和異常節(jié)點(diǎn)判定的示意圖。如圖3A所示,集群中包括1-7七個(gè)節(jié)點(diǎn)。經(jīng)過相似性分析模塊220的分析,節(jié)點(diǎn)1和2相似,1和4相似,2和4相似,2和5相似,3和6相似。節(jié)點(diǎn)類劃分模塊230根據(jù)各節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為3個(gè)節(jié)點(diǎn)類,第一個(gè)節(jié)點(diǎn)類包括1、2、4、5四個(gè)節(jié)點(diǎn),第二個(gè)節(jié)點(diǎn)類包括3、6兩個(gè)節(jié)點(diǎn),第三個(gè)節(jié)點(diǎn)類僅包括節(jié)點(diǎn)7一個(gè)節(jié)點(diǎn)。第一個(gè)節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目最多,即第一個(gè)節(jié)點(diǎn)類為最大節(jié)點(diǎn)類。由于最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目為4,大于集群節(jié)點(diǎn)數(shù)目的一半,因此,異常判定模塊240將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)3、6、7均判定為異常節(jié)點(diǎn)。
圖3B所示的集群中包括1-7七個(gè)節(jié)點(diǎn)。經(jīng)過分析,1和2相似,1和4相似,2和4相似,3和6相似,5和7相似。根據(jù)各節(jié)點(diǎn)的相似性,集群中的節(jié)點(diǎn)被劃分為3個(gè)節(jié)點(diǎn)類,第一個(gè)節(jié)點(diǎn)類包括1、2、4三個(gè)節(jié)點(diǎn),第二個(gè)節(jié)點(diǎn)類包括3、6兩個(gè)節(jié)點(diǎn),第三個(gè)節(jié)點(diǎn)類包括5、7兩個(gè)節(jié)點(diǎn)。第一個(gè)節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目最多,因此,第一個(gè)節(jié)點(diǎn)類為最大節(jié)點(diǎn)類。由于最大節(jié)點(diǎn)類中僅有3個(gè)節(jié)點(diǎn),未達(dá)到集群節(jié)點(diǎn)數(shù)目的一半,因此,本次異常節(jié)點(diǎn)檢測失敗,拋棄本次檢測結(jié)果,并自動執(zhí)行下一次異常節(jié)點(diǎn)檢測(或由用戶指定是否進(jìn)行下一次異常節(jié)點(diǎn)檢測)。
圖4示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的集群異常節(jié)點(diǎn)檢測方法400的流程圖。如圖4所示,該方法始于步驟S410。
在步驟S410中,獲取集群中每一個(gè)節(jié)點(diǎn)的性能數(shù)據(jù)。根據(jù)一種實(shí)施例,
根據(jù)一種實(shí)施例,性能數(shù)據(jù)中包括固定數(shù)量的一個(gè)或多個(gè)性能指標(biāo)。固定數(shù)量的取值會對異常檢測結(jié)果的效率和準(zhǔn)確性有一定的影響,當(dāng)固定數(shù)量的取值較小時(shí),異常檢測消耗的時(shí)間、空間資源較少,但是準(zhǔn)確性會有所欠缺;當(dāng)固定數(shù)量的取值較大時(shí),異常檢測消耗的資源較多,準(zhǔn)確性更好。用戶可以根據(jù)需要自行設(shè)置固定數(shù)量的取值。
根據(jù)一種實(shí)施例,在步驟S410之后,執(zhí)行步驟S450(圖4中未示出)。在步驟S450中,對獲取到的性能數(shù)據(jù)進(jìn)行歸一化處理。歸一化處理的過程可以參考前述對數(shù)據(jù)預(yù)處理模塊250的描述,此處不再贅述。在步驟S450后,執(zhí)行步驟S420。
在步驟S420中,根據(jù)性能數(shù)據(jù)確定集群中的每一對節(jié)點(diǎn)的相似性。
根據(jù)一種實(shí)施例,某對節(jié)點(diǎn)的相似性根據(jù)該對節(jié)點(diǎn)的各性能指標(biāo)的相似性來確定。當(dāng)性能數(shù)據(jù)中僅包括一個(gè)性能指標(biāo)時(shí),性能指標(biāo)的相似性與節(jié)點(diǎn)的相似性是一致的,即,若某對節(jié)點(diǎn)的性能指標(biāo)相似,則該對節(jié)點(diǎn)就相似。當(dāng)性能數(shù)據(jù)包括固定數(shù)量的多個(gè)性能指標(biāo)時(shí),若相似的性能指標(biāo)的數(shù)目大于等于預(yù)設(shè)的閾值,則判定該對節(jié)點(diǎn)相似。根據(jù)一種實(shí)施例,固定數(shù)量為6,預(yù)設(shè)的閾值為3。
根據(jù)一種實(shí)施例,性能指標(biāo)的相似性采用KS檢驗(yàn)算法來確定。分別計(jì)算一對節(jié)點(diǎn)的某個(gè)性能指標(biāo)的累積分布函數(shù)F1(x)和F2(x),并按照公式(1)計(jì)算相似度D,若D大于相似度閾值,則將該性能指標(biāo)判定為相似,否則,將該性能指標(biāo)判定為不相似。相似度閾值一般取一個(gè)比較小的數(shù),例如,10^(-10)。
隨后,在步驟S430中,根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類。
根據(jù)一種實(shí)施例,以集群中的節(jié)點(diǎn)為點(diǎn)建立網(wǎng)絡(luò)圖,并在每一對相似的節(jié)點(diǎn)之間建立一條邊。求解該網(wǎng)絡(luò)圖的最大連通子圖,最大連通子圖即對應(yīng)于集群的最大節(jié)點(diǎn)類。當(dāng)然,在其他實(shí)施例中,也可以采用其他算法對集群進(jìn)行節(jié)點(diǎn)類劃分并確定最大節(jié)點(diǎn)類,本發(fā)明對實(shí)現(xiàn)節(jié)點(diǎn)類劃分的具體算法不做限制。
隨后,在步驟S440中,當(dāng)最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半時(shí),將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。若最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目未達(dá)到集群節(jié)點(diǎn)數(shù)目的一半,則本次異常節(jié)點(diǎn)檢測失敗,拋棄本次檢測結(jié)果,并自動執(zhí)行下一次異常節(jié)點(diǎn)檢測(或由用戶指定是否進(jìn)行下一次異常節(jié)點(diǎn)檢測)。
據(jù)本發(fā)明的技術(shù)方案,對于集群中的節(jié)點(diǎn),兩兩進(jìn)行相似性分析,根據(jù)每對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類作為最大節(jié)點(diǎn)類。若最大節(jié)點(diǎn)類中的節(jié)點(diǎn)數(shù)目大于等于集群所包括的節(jié)點(diǎn)數(shù)目的一半,則將最大節(jié)點(diǎn)類中的節(jié)點(diǎn)判定為正常節(jié)點(diǎn),將不屬于最大節(jié)點(diǎn)類的節(jié)點(diǎn)判定為異常節(jié)點(diǎn)。
本發(fā)明在判定兩個(gè)節(jié)點(diǎn)是否相似時(shí),綜合考慮了多個(gè)性能指標(biāo),避免了僅由單一性能指標(biāo)來確定節(jié)點(diǎn)相似性的片面性,提高了異常檢測的準(zhǔn)確性。此外,在確定性能指標(biāo)的相似性時(shí),采用了KS檢驗(yàn)算法,無需像傳統(tǒng)的基于中位數(shù)偏離的檢測方法一樣設(shè)置閾值,降低了人為因素對于異常檢測結(jié)果的影響,準(zhǔn)確度較高。
A6:A5所述的集群異常節(jié)點(diǎn)檢測方法,其中,采用KS檢驗(yàn)算法確定性能指標(biāo)的相似度的步驟包括:
分別計(jì)算該對節(jié)點(diǎn)的該性能指標(biāo)的累積分布函數(shù)F1(x)和F2(x);
按照以下公式計(jì)算相似度
D=max(F1(xj)-F2(xj))
其中,D表示相似度,xj為F1(x)曲線和F2(x)曲線對應(yīng)的橫坐標(biāo)上的任意一點(diǎn)。
A7:A1所述的集群異常節(jié)點(diǎn)檢測方法,其中,根據(jù)每一對節(jié)點(diǎn)的相似性將集群中的節(jié)點(diǎn)劃分為多個(gè)節(jié)點(diǎn)類,并將所包括的節(jié)點(diǎn)數(shù)目最多的節(jié)點(diǎn)類確定為最大節(jié)點(diǎn)類的步驟包括:
以集群中的節(jié)點(diǎn)為點(diǎn)建立網(wǎng)絡(luò)圖;
在每一對相似的節(jié)點(diǎn)之間建立一條邊;
確定所述網(wǎng)絡(luò)圖的最大連通子圖,所述最大連通子圖即為最大節(jié)點(diǎn)類。
B12:B10所述的集群異常節(jié)點(diǎn)檢測應(yīng)用,其中,所述相似性分析模塊適于按照以下步驟確定性能指標(biāo)的相似性:
采用KS檢驗(yàn)算法確定性能指標(biāo)的相似度;
當(dāng)相似度大于相似度閾值時(shí),將性能指標(biāo)判定為相似。
B13:B12所述的集群異常節(jié)點(diǎn)檢測應(yīng)用,其中,所述相似性分析模塊適于按照以下步驟確定性能指標(biāo)的相似度:
分別計(jì)算該對節(jié)點(diǎn)的該性能指標(biāo)的累積分布函數(shù)F1(x)和F2(x);
按照以下公式計(jì)算相似度
D=max(F1(xj)-F2(xj))
其中,D表示相似度,xj為F1(x)曲線和F2(x)曲線對應(yīng)的橫坐標(biāo)上的任意一點(diǎn)。
B14:B8所述的集群異常節(jié)點(diǎn)檢測應(yīng)用,其中,所述節(jié)點(diǎn)類劃分模塊進(jìn)一步適于按照以下步驟確定最大節(jié)點(diǎn)類:
以集群中的節(jié)點(diǎn)為點(diǎn)建立網(wǎng)絡(luò)圖;
在每一對相似的節(jié)點(diǎn)之間建立一條邊;
確定所述網(wǎng)絡(luò)圖的最大連通子圖,所述最大連通子圖即為最大節(jié)點(diǎn)類。
在此處所提供的說明書中,算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與本發(fā)明的示例一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下被實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員應(yīng)當(dāng)理解在本文所公開的示例中的設(shè)備的模塊或單元或組件可以布置在如該實(shí)施例中所描述的設(shè)備中,或者可替換地可以定位在與該示例中的設(shè)備不同的一個(gè)或多個(gè)設(shè)備中。前述示例中的模塊可以組合為一個(gè)模塊或者此外可以分成多個(gè)子模塊。
本領(lǐng)域那些技術(shù)人員可以理解,可以對實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們設(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中。可以把實(shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
此外,所述實(shí)施例中的一些在此被描述成可以由計(jì)算機(jī)系統(tǒng)的處理器或者由執(zhí)行所述功能的其它裝置實(shí)施的方法或方法元素的組合。因此,具有用于實(shí)施所述方法或方法元素的必要指令的處理器形成用于實(shí)施該方法或方法元素的裝置。此外,裝置實(shí)施例的在此所述的元素是如下裝置的例子:該裝置用于實(shí)施由為了實(shí)施該發(fā)明的目的的元素所執(zhí)行的功能。
如在此所使用的那樣,除非另行規(guī)定,使用序數(shù)詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實(shí)例,并且并不意圖暗示這樣被描述的對象必須具有時(shí)間上、空間上、排序方面或者以任意其它方式的給定順序。
盡管根據(jù)有限數(shù)量的實(shí)施例描述了本發(fā)明,但是受益于上面的描述,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員明白,在由此描述的本發(fā)明的范圍內(nèi),可以設(shè)想其它實(shí)施例。此外,應(yīng)當(dāng)注意,本說明書中使用的語言主要是為了可讀性和教導(dǎo)的目的而選擇的,而不是為了解釋或者限定本發(fā)明的主題而選擇的。因此,在不偏離所附權(quán)利要求書的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。對于本發(fā)明的范圍,對本發(fā)明所做的公開是說明性的,而非限制性的,本發(fā)明的范圍由所附權(quán)利要求書限定。