本發(fā)明涉及通信技術(shù)領(lǐng)域,特別是涉及一種服務(wù)集群的聚類方法及裝置。
背景技術(shù):
在承擔(dān)大量混合業(yè)務(wù)的大型服務(wù)、存儲、運算集群中,成千上萬服務(wù)往往分別由幾十臺,數(shù)百乃至數(shù)千臺各類子系統(tǒng)服務(wù)器提供支持。系統(tǒng)內(nèi)和系統(tǒng)之間服務(wù)調(diào)用復(fù)雜,運維和資源優(yōu)化往往需要了解與服務(wù)關(guān)聯(lián)的細(xì)節(jié),資源分配情況以及未來發(fā)展趨勢。
了解這些細(xì)節(jié)往往依賴具體系統(tǒng)研發(fā)人員詳細(xì)理清并記錄各自業(yè)務(wù)調(diào)用其他業(yè)務(wù)的情況,隨著業(yè)務(wù)發(fā)展調(diào)用接口的日益增加,容易疏漏而且很難了解資源使用的細(xì)節(jié)。
現(xiàn)有技術(shù)中也陸續(xù)出現(xiàn)的一些如New Relic/App dynamic/智慧云等運維產(chǎn)品,能提供一些插件自動探測一些通用接口(sql/nosql)的加載情況,從而獲知系統(tǒng)依賴外部接口的情況。這些插件通過在啟動階段截獲相關(guān)節(jié)點交互的信息已了解系統(tǒng)的拓?fù)浣涌凇?/p>
然而,上述解決系統(tǒng)服務(wù)聚類往往是侵入式的,需要加載專用/定制的模塊來截獲相關(guān)調(diào)用路徑用于識別特定關(guān)聯(lián)系統(tǒng),這帶來安全和性能上的顧慮,而且這種方案只能支持有限接口,由于其主要基于內(nèi)部接口檢測,對于定性外部實際使用資源情況也很難做整體預(yù)測。而且這種方法也只能檢測直接相關(guān)系統(tǒng),不能對跳轉(zhuǎn)/中繼后的服務(wù)做進(jìn)一步跟蹤。因此,現(xiàn)有技術(shù)對服務(wù)集群系統(tǒng)的聚類存在操作復(fù)雜、安全性差,范圍受限等問題。
技術(shù)實現(xiàn)要素:
本發(fā)明要解決的技術(shù)問題是提供一種服務(wù)集群的聚類方法及裝置,用以解決現(xiàn)有技術(shù)中對服務(wù)集群系統(tǒng)的聚類存在操作復(fù)雜、安全性差,范圍受限等問題。
一方面,本發(fā)明提供一種服務(wù)集群的聚類方法,包括:分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù);根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述運行統(tǒng)計數(shù)據(jù)包括以下至少一種:CPU使用情況、網(wǎng)絡(luò)流量數(shù)據(jù)以及操作日志。
可選的,所述分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù)包括:根據(jù)考察指標(biāo)的不同,在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,所述在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)包括:對所述各服務(wù)器的考察時間和采樣頻率進(jìn)行統(tǒng)一;按照統(tǒng)一后的所述考察時間和所述采樣頻率從各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,所述根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系包括:計算所述各服務(wù)器中每個服務(wù)器的運行統(tǒng)計數(shù)據(jù)與其他服務(wù)器的運行統(tǒng)計數(shù)據(jù)之間的互相關(guān)系數(shù);根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系包括:如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系;如果所述互相關(guān)系數(shù)的絕對值小于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間不存在連接調(diào)用關(guān)系。
可選的,所述如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系包括:所述預(yù)設(shè)系數(shù)閾值包括至少兩個;根據(jù)所述互相關(guān)系數(shù)的絕對值與各所述預(yù)設(shè)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間聯(lián)系的緊密程度。
另一方面,本發(fā)明還提供一種服務(wù)集群的聚類裝置,包括:獲取單元,用于分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù);確定單元,用于根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述獲取單元具體用于根據(jù)考察指標(biāo)的不同,在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,所述獲取單元包括:統(tǒng)一模塊,用于對所述各服務(wù)器的考察時間和采樣頻率進(jìn)行統(tǒng)一;采集模塊,用于按照統(tǒng)一后的所述考察時間和所述采樣頻率從各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,所述確定單元包括:計算模塊,用于計算所述各服務(wù)器中每個服務(wù)器的運行統(tǒng)計數(shù)據(jù)與其他服務(wù)器的運行統(tǒng)計數(shù)據(jù)之間的互相關(guān)系數(shù);確定模塊,用于根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述確定模塊具體用于:如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系;如果所述互相關(guān)系數(shù)的絕對值小于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間不存在連接調(diào)用關(guān)系。
本發(fā)明實施例提供的服務(wù)集群的聚類方法及裝置,能夠分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù),并根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。這樣,無需入侵性地截取各個服務(wù)器之間的數(shù)據(jù)流向,僅僅依靠分析服務(wù)器內(nèi)部的各種運行統(tǒng)計數(shù)據(jù)即可確定各個服務(wù)器之間是否具有耦合連接或者調(diào)用關(guān)系,因此有效降低了聚類難度,擴大了聚類方法的應(yīng)用范圍,也大大提高了信息安全。
附圖說明
圖1是本發(fā)明實施例提供的服務(wù)集群的聚類方法的一種流程圖;
圖2是本發(fā)明優(yōu)選實施例中服務(wù)集群的聚類方法采集的運行統(tǒng)計數(shù)據(jù)的一種示意圖;
圖3是圖2所示的實施例中采集的運行統(tǒng)計數(shù)據(jù)的另一種示意圖;
圖4是本發(fā)明實施例提供的服務(wù)集群的聚類方法確定的服務(wù)節(jié)點的相關(guān)系數(shù)的一種分布示意圖;
圖5是本發(fā)明實施例提供的服務(wù)集群的聚類方法確定的服務(wù)節(jié)點的相關(guān)系數(shù)的一種分布示意圖;
圖6是本發(fā)明實施例提供的服務(wù)集群的聚類裝置的一種結(jié)構(gòu)示意圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明進(jìn)行詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不限定本發(fā)明。
如圖1所示,本發(fā)明的實施例提供一種服務(wù)集群的聚類方法,包括:
S11,分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù);
S12,根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。
本發(fā)明實施例提供的服務(wù)集群的聚類方法,能夠分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù),并根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。這樣,無需入侵性地截取各個服務(wù)器之間的數(shù)據(jù)流向,僅僅依靠分析服務(wù)器內(nèi)部的各種運行統(tǒng)計數(shù)據(jù)即可確定各個服務(wù)器之間是否具有耦合連接或者調(diào)用關(guān)系,因此有效降低了聚類難度,擴大了聚類方法的應(yīng)用范圍,也大大提高了信息安全。
可選的,服務(wù)器的運行統(tǒng)計數(shù)據(jù)是指表示服務(wù)器運行狀態(tài)的各種基礎(chǔ)性數(shù)據(jù),通常是一種基礎(chǔ)服務(wù)器監(jiān)控數(shù)據(jù),可以由服務(wù)器自行記錄維護(hù),也可以通過在服務(wù)器上運行一些通用操作系統(tǒng)工具如top等獲得。本發(fā)明的實施例對此不作限定。
可選的,在本發(fā)明的實施例中,運行統(tǒng)計數(shù)據(jù)可以包括以下一種或幾種:CPU使用情況、網(wǎng)絡(luò)流量數(shù)據(jù)以及操作日志。
其中,CPU使用情況可以包括CPU總體占用率、各類應(yīng)用或者服務(wù)分別占用多少CPU,或者各個時段中不同應(yīng)用對CPU的消耗的變化情況等。例如,在本發(fā)明的一個實施例中,希望獲知系統(tǒng)、用戶以及其他軟中斷對CPU的消耗情況,則可以分別獲取各個服務(wù)器中用戶對CPU的消耗,系統(tǒng)對CPU的消耗,以及其他軟中斷情況等。用戶CPU消耗,系統(tǒng)調(diào)用CPU消耗,軟中斷等。
具體的,網(wǎng)絡(luò)流量可以是按時間抽取的進(jìn)/出服務(wù)器網(wǎng)絡(luò)接口的數(shù)據(jù),通常是一種基礎(chǔ)服務(wù)器監(jiān)控數(shù)據(jù),可以由服務(wù)器自行記錄維護(hù),也可以通過在服務(wù)器上運行相關(guān)工具如iftop獲得。
CPU使用情況和網(wǎng)絡(luò)流量是結(jié)構(gòu)比較單一、獲取方式相對容易的運行統(tǒng)計數(shù)據(jù),然而在一些公共訪問服務(wù)比較集中的系統(tǒng),cpu/網(wǎng)絡(luò)消耗往往由多個資源請求方來確定,為了進(jìn)一步理清各個服務(wù)器或者系統(tǒng)之間的耦合關(guān)系或調(diào)用關(guān)系,提高關(guān)聯(lián)系統(tǒng)之間的分辨率,可以進(jìn)一步獲取各個業(yè)務(wù)節(jié)點的相互訪問情況。具體的,服務(wù)器所進(jìn)行的任何操作都可以由系統(tǒng)維護(hù)的操作日志記錄。因此,通過讀取相應(yīng)的操作日志即可詳細(xì)了解各種業(yè)務(wù)節(jié)點或者應(yīng)用對本服務(wù)器的訪問情況。例如,在本發(fā)明的一個實施例中,可以按時間抽取的訪問本節(jié)點服務(wù)器各服務(wù)類別相關(guān)業(yè)務(wù)的頻次,通過抽取服務(wù)相關(guān)日志信息并將信息聚合,即可得到每n秒/n分鐘/n小時的訪問次數(shù)在不同時間分辨尺度上的數(shù)據(jù)。
具體的,由于一個服務(wù)器可能會為多種用戶或者應(yīng)用提供服務(wù),而對服務(wù)器的聚類也常常帶有不同的考察指標(biāo)和不同的目的,因此在獲取各個服務(wù)器的運行統(tǒng)計數(shù)據(jù)時,也可以具有不同的針對性。
可選的,在步驟S11中,分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù)包括:根據(jù)考察指標(biāo)的不同,在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。例如,當(dāng)所關(guān)注的為財務(wù)金融方面的數(shù)據(jù)時,可以在某個預(yù)設(shè)時段內(nèi)獲取財務(wù)金融類對服務(wù)器的操作日志,當(dāng)所關(guān)注的為社交方面的數(shù)據(jù)時,可以在另外某個預(yù)設(shè)時段內(nèi)獲取各種社交軟件的數(shù)據(jù)信息。不同的考察指標(biāo)可以對應(yīng)不同的數(shù)據(jù)采集時間段和不同的數(shù)據(jù)采集對象。
具體的,在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)可以包括:
對所述各服務(wù)器的考察時間和采樣頻率進(jìn)行統(tǒng)一;
按照統(tǒng)一后的所述考察時間和所述采樣頻率從各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可以理解的,不同系統(tǒng)之間以及相同系統(tǒng)的不同服務(wù)器之間,如果具有一定的相關(guān)性,則其具體操作特征以及操作特征發(fā)生的時間可能會具有某種聯(lián)系,為了使采集到的運行統(tǒng)計數(shù)據(jù)能夠較好的反應(yīng)各個服務(wù)器之間的關(guān)系,對各個服務(wù)器進(jìn)行的數(shù)據(jù)采集可以采用統(tǒng)一的考察時間和/或采樣頻率。具體而言,這里的“統(tǒng)一”是指按照統(tǒng)一的部署來采集,從而使從各個系統(tǒng)中采集的數(shù)據(jù)具有參考價值,并不一定是完全相同。例如,假如對第一服務(wù)器的考察時間為每天下午3點中至4點鐘,采樣頻率為每分鐘采樣一次,則為了使從其他服務(wù)器采集的數(shù)據(jù)能夠具有參考價值,需要限定其他服務(wù)器的考察時間也是每天下午3點中至4點鐘,或者每天下午2點鐘至5點鐘等,采集頻率為每分鐘采樣1次或2次等。
可選的,運行統(tǒng)計數(shù)據(jù)采集的示意圖可以如圖2和圖3所示。其中,圖2是一個實際系統(tǒng)的cpu(六個服務(wù)器節(jié)點),圖3是其中兩個個節(jié)點具體服務(wù)訪問頻次時序圖。
在本發(fā)明的一個實施例中,以上各參數(shù)的具體采樣數(shù)量可以表述為一個時間序列向量:
Q(s,h,p,t)=[(t0,q0),(t1,q1),…,(ti,qi)…] (1)
其中:
s為系統(tǒng)標(biāo)識,標(biāo)識已知的主機隸屬系統(tǒng)名稱;
h為主機名或IP;
p為采集參數(shù),表示采集的數(shù)據(jù)類型(例如cpu使用情況,網(wǎng)絡(luò)流量network,操作日志等);
t為時間段;
(ti,qi)表示t時間段內(nèi)按順序排列具體時間點以及相應(yīng)采樣值qi。
為相對準(zhǔn)確的計算系統(tǒng)之間的相關(guān)性,需要對各系統(tǒng)服務(wù)器采樣對齊考察時間段以及分辨率。采樣時間段可以按照最小重疊時間范圍進(jìn)行對齊。如果時間分辨率不一致,可以采取策略將采樣數(shù)據(jù)統(tǒng)一起來??蛇x的,既可以是通過插值統(tǒng)一到較小的分辨率上,也可以通過求平均統(tǒng)一到較大分辨率上,還可以使兩者都用統(tǒng)一到中間分辨率上。如果采樣點時間不嚴(yán)格一致,按照就近原則在對齊時間點上進(jìn)行分配。
于是公式(1)中Q(s,h,p,t)可以表示為:
Q(s,h,p)=[q0,q1,…,qi,…] (2)
進(jìn)一步的,在獲取了各服務(wù)器的運行統(tǒng)計數(shù)據(jù)之后,在步驟S12中即可根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系,具體而言可包括如下步驟:
計算所述各服務(wù)器中每個服務(wù)器的運行統(tǒng)計數(shù)據(jù)與其他服務(wù)器的運行統(tǒng)計數(shù)據(jù)之間的互相關(guān)系數(shù);
根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系可以包括:
如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系;
如果所述互相關(guān)系數(shù)的絕對值小于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間不存在連接調(diào)用關(guān)系。
仍以上述實施例為例,由公式(2)可以得到各系統(tǒng)主機的按時間對齊的參數(shù)采樣一維向量,通過估計計算向量之間的相關(guān)性(Estimate a covariance matrix),可以得到歸一化的估計的參數(shù)相關(guān)度指標(biāo)。
c(s1,s2,h,p)=Cov(Q(s1,h,p),Q(s2,h,p)) (3)
其中,通過參數(shù)向量估算相關(guān)性的算法可以是:
Cov(X)=(X–mean(X))·Transpose(X-mean(X))/(N-1) (4)
其中X為Q(s1,h,p),Q(s2,h,p)組成的向量矩陣。結(jié)果Cov(X)為相關(guān)性矩陣,將其做歸一化處理得到歸一化相關(guān)性矩陣R,其中:
其中:Rij為[-1,1]區(qū)間實數(shù)
Rij的大小體現(xiàn)了兩個觀測變量之間的相關(guān)度,如果它們屬于不同的系統(tǒng),通過設(shè)定一個區(qū)分閾值t(比如0.5),可以較好的用于度量兩個系統(tǒng)之間的正相關(guān)性。
可選的,如果通過上述方法確定兩個系統(tǒng)之間存在相關(guān)關(guān)系,則可以進(jìn)一步確定該相關(guān)關(guān)系是正相關(guān)還是負(fù)相關(guān)。如果互相關(guān)系數(shù)R為正數(shù),則說明兩個系統(tǒng)的運行統(tǒng)計數(shù)據(jù)的變化方向相同,確定二者為正相關(guān);如果互相關(guān)系數(shù)R為負(fù)數(shù),則說明兩個系統(tǒng)的運行統(tǒng)計數(shù)據(jù)的變化方向相反,確定二者為負(fù)相關(guān)。
進(jìn)一步的,如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系時,預(yù)設(shè)系數(shù)閾值可以為一個,也可以為多個,具體可以根據(jù)服務(wù)集群的層次劃分確定。在預(yù)設(shè)系數(shù)閾值包括至少兩個的情況下,則可以根據(jù)所述互相關(guān)系數(shù)的絕對值與各所述預(yù)設(shè)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間聯(lián)系的緊密程度。例如,可以確定當(dāng)互相關(guān)系數(shù)大于0.5時可以認(rèn)為兩個服務(wù)器所在的系統(tǒng)存在相互調(diào)用關(guān)系,當(dāng)互相關(guān)系數(shù)大于0.7時,可以認(rèn)為兩個服務(wù)器處于同一系統(tǒng),具有更緊密的聯(lián)系。
圖4是一個11個節(jié)點的系統(tǒng)MIS-enterprise內(nèi)節(jié)點0通過用戶CPU開銷所做的相對于自己內(nèi)部其他節(jié)點以及另外一個擁有12個節(jié)點的完全不相關(guān)系統(tǒng)TEU-Hadoop-Masters的對比圖。其中,節(jié)點標(biāo)號為0~10的節(jié)點屬于同一系統(tǒng),編號為11~22的節(jié)點屬于另一個系統(tǒng)。由此清晰可見系統(tǒng)內(nèi)部節(jié)點的高度相關(guān)性以及系統(tǒng)之間的不相關(guān)性。同時也能發(fā)現(xiàn)即使在標(biāo)識為同一個系統(tǒng)內(nèi)部的節(jié)點,也有相關(guān)性差異(比如節(jié)點4,相關(guān)性細(xì)數(shù)R0-4很低,實際上一臺新分配機器,其上并沒有跑核心業(yè)務(wù))。而與另外一個集群TEU-Hadoop-Masters相關(guān)性則極低。
圖5是增加一個系統(tǒng)vip-scf-enterprise后形成的三個系統(tǒng)的單項關(guān)聯(lián)圖。其中,編號為0~10的節(jié)點屬于一個系統(tǒng),編號為11~39的節(jié)點屬于另一個系統(tǒng),編號為40~51的節(jié)點屬于另一個系統(tǒng),由此可見系統(tǒng)MIS-enterprise與系統(tǒng)vip_scf_enterprise是存在較高相關(guān)性的。
在一個擁有多種參數(shù)選擇條件的情況下,可以分別參考所有參數(shù)給出的建議,以區(qū)分度最大的參數(shù)為準(zhǔn)則。對于以業(yè)務(wù)調(diào)用為主的系統(tǒng),往往細(xì)化的服務(wù)訪問頻次調(diào)用相關(guān)性會成為區(qū)分度較好的參數(shù)選擇。
相應(yīng)的,如圖6所示,本發(fā)明的實施例還提供一種服務(wù)集群的聚類裝置,包括:
獲取單元61,用于分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù);
確定單元62,用于根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。
本發(fā)明實施例提供的服務(wù)集群的聚類裝置,獲取單元61能夠分別獲取各服務(wù)器的運行統(tǒng)計數(shù)據(jù),確定單元62能夠根據(jù)所述運行統(tǒng)計數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系確定對應(yīng)的各服務(wù)器之間的連接調(diào)用關(guān)系。這樣,無需入侵性地截取各個服務(wù)器之間的數(shù)據(jù)流向,僅僅依靠分析服務(wù)器內(nèi)部的各種運行統(tǒng)計數(shù)據(jù)即可確定各個服務(wù)器之間是否具有耦合連接或者調(diào)用關(guān)系,因此有效降低了聚類難度,擴大了聚類方法的應(yīng)用范圍,也大大提高了信息安全。
可選的,獲取單元61具體用于根據(jù)考察指標(biāo)的不同,在預(yù)設(shè)時段內(nèi)從所述各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,服務(wù)器的運行統(tǒng)計數(shù)據(jù)是指表示服務(wù)器運行狀態(tài)的各種基礎(chǔ)性數(shù)據(jù),通常是一種基礎(chǔ)服務(wù)器監(jiān)控數(shù)據(jù),可以由服務(wù)器自行記錄維護(hù),也可以通過在服務(wù)器上運行一些通用操作系統(tǒng)工具如top等獲得。本發(fā)明的實施例對此不作限定。
可選的,在本發(fā)明的實施例中,運行統(tǒng)計數(shù)據(jù)可以包括以下一種或幾種:CPU使用情況、網(wǎng)絡(luò)流量數(shù)據(jù)以及操作日志。
其中,CPU使用情況可以包括CPU總體占用率、各類應(yīng)用或者服務(wù)分別占用多少CPU,或者各個時段中不同應(yīng)用對CPU的消耗的變化情況等。例如,在本發(fā)明的一個實施例中,希望獲知系統(tǒng)、用戶以及其他軟中斷對CPU的消耗情況,則可以分別獲取各個服務(wù)器中用戶對CPU的消耗,系統(tǒng)對CPU的消耗,以及其他軟中斷情況等。用戶CPU消耗,系統(tǒng)調(diào)用CPU消耗,軟中斷等。
具體的,網(wǎng)絡(luò)流量可以是按時間抽取的進(jìn)/出服務(wù)器網(wǎng)絡(luò)接口的數(shù)據(jù),通常是一種基礎(chǔ)服務(wù)器監(jiān)控數(shù)據(jù),可以由服務(wù)器自行記錄維護(hù),也可以通過在服務(wù)器上運行相關(guān)工具如iftop獲得。
CPU使用情況和網(wǎng)絡(luò)流量是結(jié)構(gòu)比較單一、獲取方式相對容易的運行統(tǒng)計數(shù)據(jù),然而在一些公共訪問服務(wù)比較集中的系統(tǒng),cpu/網(wǎng)絡(luò)消耗往往由多個資源請求方來確定,為了進(jìn)一步理清各個服務(wù)器或者系統(tǒng)之間的耦合關(guān)系或調(diào)用關(guān)系,提高關(guān)聯(lián)系統(tǒng)之間的分辨率,可以進(jìn)一步獲取各個業(yè)務(wù)節(jié)點的相互訪問情況。具體的,服務(wù)器所進(jìn)行的任何操作都可以由系統(tǒng)維護(hù)的操作日志記錄。因此,通過讀取相應(yīng)的操作日志即可詳細(xì)了解各種業(yè)務(wù)節(jié)點或者應(yīng)用對本服務(wù)器的訪問情況。例如,在本發(fā)明的一個實施例中,可以按時間抽取的訪問本節(jié)點服務(wù)器各服務(wù)類別相關(guān)業(yè)務(wù)的頻次,通過抽取服務(wù)相關(guān)日志信息并將信息聚合,即可得到每n秒/n分鐘/n小時的訪問次數(shù)在不同時間分辨尺度上的數(shù)據(jù)。
可選的,獲取單元61可包括:
統(tǒng)一模塊,用于對所述各服務(wù)器的考察時間和采樣頻率進(jìn)行統(tǒng)一;
采集模塊,用于按照統(tǒng)一后的所述考察時間和所述采樣頻率從各服務(wù)器中采集相應(yīng)類型的運行統(tǒng)計數(shù)據(jù)。
可選的,確定單元62可包括:
計算模塊,用于計算所述各服務(wù)器中每個服務(wù)器的運行統(tǒng)計數(shù)據(jù)與其他服務(wù)器的運行統(tǒng)計數(shù)據(jù)之間的互相關(guān)系數(shù);
確定模塊,用于根據(jù)所述互相關(guān)系數(shù)與預(yù)設(shè)系數(shù)閾值的關(guān)系,確定相應(yīng)的服務(wù)器之間的連接調(diào)用關(guān)系。
可選的,所述確定模塊可具體用于:
如果所述互相關(guān)系數(shù)的絕對值大于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間存在連接調(diào)用關(guān)系;
如果所述互相關(guān)系數(shù)的絕對值小于所述預(yù)設(shè)系數(shù)閾值,確定相應(yīng)的服務(wù)器之間不存在連接調(diào)用關(guān)系。
需要說明的是,在本文中,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者裝置不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者裝置所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括該要素的過程、方法、物品或者裝置中還存在另外的相同要素。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機,計算機,服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
盡管為示例目的,已經(jīng)公開了本發(fā)明的優(yōu)選實施例,本領(lǐng)域的技術(shù)人員將意識到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實施例。