欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種基于數(shù)據(jù)壓縮的可擴(kuò)展的監(jiān)控方法及系統(tǒng)的制作方法

文檔序號:6401053閱讀:295來源:國知局
專利名稱:一種基于數(shù)據(jù)壓縮的可擴(kuò)展的監(jiān)控方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及大規(guī)模分布式系統(tǒng)的監(jiān)控領(lǐng)域,具體涉及到一種基于數(shù)據(jù)壓縮的可擴(kuò)展的監(jiān)控方法及系統(tǒng)。
背景技術(shù)
為了有效的管理分布式計(jì)算系統(tǒng),操作者必須了解當(dāng)前系統(tǒng)及應(yīng)用的行為。這就需要不間斷的進(jìn)行監(jiān)控以提供給操作者該系統(tǒng)的當(dāng)前狀態(tài)。當(dāng)計(jì)算機(jī)系統(tǒng)的結(jié)點(diǎn)規(guī)模擴(kuò)展時(shí),系統(tǒng)中的任何位置都可能變成瓶頸。因此,一個(gè)監(jiān)控系統(tǒng)應(yīng)該具有良好的可擴(kuò)展性,以提供實(shí)時(shí)的監(jiān)控?cái)?shù)據(jù)。數(shù)據(jù)收集時(shí)間間隔的粒度是監(jiān)控系統(tǒng)的一個(gè)挑戰(zhàn)。若時(shí)間粒度太粗,則獲取的信息不能實(shí)時(shí)的描述出計(jì)算系統(tǒng)當(dāng)前狀態(tài);若時(shí)間粒度太細(xì),會(huì)增加計(jì)算系統(tǒng)的負(fù)載,使監(jiān)控系統(tǒng)的擴(kuò)展性降低。而且,同一個(gè)時(shí)間粒度,對一些度量可能太粗,但對其他的一些度量可能又太細(xì)。所以一個(gè)監(jiān)控系統(tǒng)中,時(shí)間粒度的選取依賴于度量特性?,F(xiàn)有技術(shù)中存在一個(gè)用于分布于全球的計(jì)算 機(jī)群(PlanetLab)的監(jiān)控系統(tǒng)CoMon0 CoMon是以中心化結(jié)構(gòu)組織的,其實(shí)現(xiàn)包括兩個(gè)守護(hù)程序:切片中心守護(hù)程序(Slice-centric daemon, SCD)和結(jié)點(diǎn)中心守護(hù)程序(Node-centric daemon, NCD)0 每個(gè)結(jié)點(diǎn)上均運(yùn)行著S⑶和NCD,S⑶聚集每個(gè)切片中所有進(jìn)程消耗的資源。NCD通過操作系統(tǒng)提供或其他工具測量獲取所在結(jié)點(diǎn)的狀態(tài)信息。用戶可以通過網(wǎng)絡(luò)瀏覽器進(jìn)行訪問這些數(shù)據(jù)。每5分鐘進(jìn)行收集所有結(jié)點(diǎn)的信息,并將該信息寫入相應(yīng)的文件中。然而,中心化的結(jié)構(gòu)限制了監(jiān)控系統(tǒng)的擴(kuò)展性。而且5分鐘的時(shí)間粒度對有些指標(biāo)太粗,而對另一些指標(biāo)又太細(xì)?,F(xiàn)有技術(shù)中的Chukwa是一個(gè)監(jiān)控和分析大型分布式系統(tǒng)的數(shù)據(jù)收集系統(tǒng)。Chukwa是在Hadoop (—個(gè)開源分布式系統(tǒng)且在其上實(shí)現(xiàn)了 MapReduce: —種用于大規(guī)模并行計(jì)算的編程模型)上層進(jìn)行實(shí)現(xiàn),且保留這Hadoop的擴(kuò)展行和健壯性。Chukwa是通過采集器和收集器來實(shí)現(xiàn)數(shù)據(jù)的收集的。收集器收集其所在結(jié)點(diǎn)上的狀態(tài)信息,包括Hadoop日志和任務(wù)進(jìn)度等。每個(gè)收集器收集來自數(shù)百個(gè)主機(jī)的數(shù)據(jù),并將其全部寫入由數(shù)據(jù)塊和表示塊來源及格式的元數(shù)據(jù)組成的單個(gè)文件(sink file, SF)0收集器定期的關(guān)閉他們的SF,并將其重命名以標(biāo)記為可處理,并重新寫新的SF。然后Hadoop周期性的執(zhí)行兩個(gè)MapReduce作業(yè):第一個(gè)作業(yè)是僅將所有的SF進(jìn)行存檔;第二個(gè)作業(yè)是將存檔的數(shù)據(jù)解析為結(jié)構(gòu)化數(shù)據(jù),并保存到Hadoop分布式文件系統(tǒng)(HDFS)。然后用戶可以以MapReduce作業(yè)的形式對這些結(jié)構(gòu)化數(shù)據(jù)進(jìn)行分析。Chukwa依賴于Hadoop平臺,關(guān)注的是大量日志文件的分析。而現(xiàn)有技術(shù)中還存在一個(gè)用于大規(guī)模并行和分布式計(jì)算環(huán)境的監(jiān)控系統(tǒng),該系統(tǒng)也是以層次結(jié)構(gòu)進(jìn)行監(jiān)控。該系統(tǒng)主要包括三個(gè)層次:后端進(jìn)程(Back-end process, BE),中間進(jìn)程和前端進(jìn)程(Front-end process, FE)。BE運(yùn)行在需要監(jiān)控的節(jié)點(diǎn)上,進(jìn)行數(shù)據(jù)的收集,然后將數(shù)據(jù)發(fā)送給中間進(jìn)程或直接發(fā)送給FE ;中間進(jìn)程對數(shù)據(jù)進(jìn)行聚集、分析和過濾。然后將處理后的數(shù)據(jù)發(fā)送給FE ;FE將接收到的數(shù)據(jù)存入數(shù)據(jù)庫或直接顯示在前臺,用戶可以使用結(jié)構(gòu)化查詢語言(Structured Query Language, SQL)訪問數(shù)據(jù)庫,以獲得計(jì)算環(huán)境的歷史狀態(tài)。該監(jiān)控系統(tǒng)內(nèi)部通信使用的是自定義的格式,與gangl ia系統(tǒng)相比,減少了由XML格式增加的傳輸量。但該監(jiān)控系統(tǒng)收集數(shù)據(jù)的時(shí)間粒度由用戶自己指定,而且沒有考慮不同度量所需時(shí)間粒度的不同?,F(xiàn)有技術(shù)中的一種壓縮監(jiān)控?cái)?shù)據(jù)的方法把節(jié)點(diǎn)分為工作節(jié)點(diǎn)和管理節(jié)點(diǎn)且把監(jiān)控?cái)?shù)據(jù)的屬性分為兩類:節(jié)點(diǎn)間屬性(比如網(wǎng)絡(luò)延時(shí)和帶寬等)和節(jié)點(diǎn)內(nèi)屬性(比如CPU利用率、內(nèi)存使用率、磁盤信息等)。管理節(jié)點(diǎn)分別周期性的收集每個(gè)工作節(jié)點(diǎn)的節(jié)點(diǎn)間屬性值和節(jié)點(diǎn)內(nèi)屬性值。對于節(jié)點(diǎn)間的屬性,該方法指出如果兩點(diǎn)之間的屬性值(如節(jié)點(diǎn)A到節(jié)點(diǎn)B的屬性值和節(jié)點(diǎn)B到節(jié)點(diǎn)A的屬性值)相等,所以只需發(fā)送其中一個(gè)屬性值即可。對于節(jié)點(diǎn)內(nèi)屬性,該技術(shù)將所要監(jiān)控的所有工作節(jié)點(diǎn)劃分為塊,每塊具有相同的節(jié)點(diǎn)數(shù)量,首先管理節(jié)點(diǎn)收集所有工作節(jié)點(diǎn)的節(jié)點(diǎn)內(nèi)屬性,收集若干次數(shù)后,管理節(jié)點(diǎn)對每個(gè)特定塊(設(shè)為塊A)搜索是否存在一塊的節(jié)點(diǎn)內(nèi)屬性值與其相似,若存在這樣的塊(設(shè)為塊B),則塊A在以后每次發(fā)送其節(jié)點(diǎn)內(nèi)屬性值時(shí)先于塊B的節(jié)點(diǎn)內(nèi)屬性值進(jìn)行比較,若相差在一定范圍內(nèi),塊A本次就不向管理節(jié)點(diǎn)發(fā)送其節(jié)點(diǎn)內(nèi)屬性值,管理節(jié)點(diǎn)就將塊A的節(jié)點(diǎn)內(nèi)屬性值設(shè)為塊B的節(jié)點(diǎn)內(nèi)屬性值,反正,塊A將其節(jié)點(diǎn)內(nèi)屬性值發(fā)送給管理節(jié)點(diǎn)。當(dāng)塊A多次發(fā)送給管理節(jié)點(diǎn)其節(jié)點(diǎn)內(nèi)屬性值,則管理節(jié)點(diǎn)就從新查找塊 以代替塊B。在動(dòng)態(tài)環(huán)境下,管理節(jié)點(diǎn)需要對塊A頻繁的查找替換的塊B,這時(shí)管理節(jié)點(diǎn)的開銷很大。

發(fā)明內(nèi)容
為解決上述問題,本發(fā)明提供了一種基于數(shù)據(jù)壓縮的可擴(kuò)展的監(jiān)控方法及系統(tǒng),本發(fā)明通過壓縮監(jiān)控?cái)?shù)據(jù)、自動(dòng)調(diào)節(jié)數(shù)據(jù)收集時(shí)間粒度,減少了網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量,提高了監(jiān)控系統(tǒng)的擴(kuò)展性。為實(shí)現(xiàn)上述目的,本發(fā)明提供一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,該方法包括:步驟1,數(shù)據(jù)收集模塊收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;步驟2,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作;步驟3,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;步驟4,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊;步驟5,數(shù)據(jù)存儲(chǔ)模塊分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。
其中,所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息;所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。進(jìn)一步的,所述步驟4包括:步驟41,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為I,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行步驟43,若為0,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行步驟42;步驟42,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行步驟43;步驟43,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息, 執(zhí)行步驟44,若為0,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行步驟45 ;步驟44,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行步驟46 ;步驟45,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行步驟46 ;步驟46,將步驟44或步驟45解析所得的信息追加到msg2中,執(zhí)行步驟47 ;步驟47,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ)模塊或上層的數(shù)據(jù)聚集模塊。進(jìn)一步的,所述步驟5包括:步驟51,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文;步驟52,判斷msg的第二位,若為0,則執(zhí)行步驟54,若為1,則執(zhí)行步驟53 ;步驟53,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中;步驟54,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。其中,所述靜態(tài)信息包括:CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大小;所述動(dòng)態(tài)信息包括:CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率。為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),該系統(tǒng)包括:數(shù)據(jù)收集模塊,用于收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;比較模塊,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作;發(fā)送模塊,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;數(shù)據(jù)聚集模塊,用于接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊;數(shù)據(jù)存儲(chǔ)模塊,用于分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。其中,所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息;所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。進(jìn)一步的,所述數(shù)據(jù)聚集模塊包括:初始化模塊,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為I,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行聚集判斷模塊,若為0,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行聚集分割模塊;聚集分割模塊,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行聚集判斷模塊; 聚集判斷模塊,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,執(zhí)行靜態(tài)解析模塊,若為0,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行動(dòng)態(tài)解析模塊;靜態(tài)解析模塊,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行追加模塊;動(dòng)態(tài)解析模塊,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行追加模塊;追加模塊,將靜態(tài)解析模塊或動(dòng)態(tài)解析模塊解析所得的信息追加到msg2中,執(zhí)行處理模塊;處理模塊,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ)模塊或上層的數(shù)據(jù)聚集模塊。進(jìn)一步的,所述數(shù)據(jù)存儲(chǔ)模塊包括:存儲(chǔ)分割模塊,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文;存儲(chǔ)判斷模塊,判斷msg的第二位,若為0,則執(zhí)行第二插入模塊,若為I,則執(zhí)行第一插入模塊;第一插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中;第二插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。其中所述靜態(tài)信息包括:CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大??;所述動(dòng)態(tài)信息包括:CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率。本發(fā)明的有益功效在于,本發(fā)明通過訪問數(shù)據(jù)聚集數(shù)據(jù)庫獲得計(jì)算環(huán)境的當(dāng)前信息或歷史狀態(tài),然后利用數(shù)據(jù)壓縮,對每個(gè)監(jiān)控節(jié)點(diǎn)的任一種度量標(biāo)準(zhǔn)僅傳輸其值變化超過一定范圍的數(shù)據(jù),自動(dòng)調(diào)整發(fā)送的監(jiān)控?cái)?shù)據(jù),減少了網(wǎng)絡(luò)傳輸量,獲得了監(jiān)控系統(tǒng)的高擴(kuò)展性和各指標(biāo)的時(shí)間粒度自動(dòng)調(diào)整功能,當(dāng)節(jié)點(diǎn)狀態(tài)數(shù)據(jù)變化較大時(shí),其發(fā)送數(shù)據(jù)量較多(不會(huì)超過現(xiàn)有監(jiān)控系統(tǒng)內(nèi)發(fā)送的數(shù)據(jù)量),時(shí)間粒度就較細(xì);當(dāng)節(jié)點(diǎn)狀態(tài)數(shù)據(jù)變化較小時(shí),其發(fā)送數(shù)據(jù)量較少,時(shí)間粒度就較粗。而且本發(fā)明能實(shí)時(shí)描述出系統(tǒng)的當(dāng)前狀態(tài),減少系統(tǒng)的計(jì)算負(fù)載和網(wǎng)絡(luò)傳輸量,保證了系統(tǒng)的擴(kuò)展性,適用于現(xiàn)有的監(jiān)控系統(tǒng)。以下結(jié)合附圖和具體實(shí)施例對本發(fā)明進(jìn)行詳細(xì)描述,但不作為對本發(fā)明的限定。


圖1是本發(fā)明的一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法流程圖;圖2是本發(fā)明的一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng)示意圖;圖3是本發(fā)明的一實(shí)施例的監(jiān)控系統(tǒng)模型示意圖;
圖4是本發(fā)明的一實(shí)施例的監(jiān)控系統(tǒng)中的三個(gè)進(jìn)程示意圖。
具體實(shí)施例方式圖1是本發(fā)明的一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法流程圖。如圖1所示,該方法包括:步驟I,數(shù)據(jù)收集模塊收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;步驟2,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作;步驟3,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;步驟4,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊;步驟5,數(shù)據(jù)存儲(chǔ)模塊分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。其中,所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息;所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。進(jìn)一步的,所述步驟4包括:步驟41,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為I,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行步驟43,若為0,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行步驟42;步驟42,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行步驟43;步驟43,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,執(zhí)行步驟44,若為0,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行步驟45 ;步驟44,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行步驟46 ;步驟45,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行步驟46 ;步驟46,將步驟44或步驟45解析所得的信息追加到msg2中,執(zhí)行步驟47 ;步驟47,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ)模塊或上層的數(shù)據(jù)聚集模塊。進(jìn)一步的,所述步驟5包括:步驟51,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文;步驟52,判斷msg的第二位,若為0,則執(zhí)行步驟54,若為1,則執(zhí)行步驟53 ;步驟53, 將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中;步驟54,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。其中,所述靜態(tài)信息包括:CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大小;所述動(dòng)態(tài)信息包括:CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率。圖2是本發(fā)明的一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng)示意圖。如圖2所示,該系統(tǒng)包括:數(shù)據(jù)收集模塊100,用于收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;比較模塊200,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作;發(fā)送模塊300,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊;數(shù)據(jù)聚集模塊400,用于接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊;數(shù)據(jù)存儲(chǔ)模塊500,用于分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。其中,所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息;所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。進(jìn)一步的,所述數(shù)據(jù)聚集模塊400包括:初始化模塊,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為I,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行聚集判斷模塊,若為O,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行聚集分割模塊;聚集分割模塊,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行聚集判斷模塊;聚集判斷模塊,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,執(zhí)行靜態(tài)解析模塊,若為0,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行動(dòng)態(tài)解析模塊;靜態(tài)解析模塊,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行追加模塊;動(dòng)態(tài)解析模塊,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行追加模塊;追加模塊,將靜態(tài)解析模塊或動(dòng)態(tài)解析模塊解析所得的信息追加到msg2中,執(zhí)行處理模塊;處理模塊,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ) 模塊或上層的數(shù)據(jù)聚集模塊。進(jìn)一步的,所述數(shù)據(jù)存儲(chǔ)模塊500包括:存儲(chǔ)分割模塊,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文;存儲(chǔ)判斷模塊,判斷msg的第二位,若為0,則執(zhí)行第二插入模塊,若為I,則執(zhí)行第一插入模塊;第一插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中;第二插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。其中所述靜態(tài)信息包括:CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大??;所述動(dòng)態(tài)信息包括:CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率。圖3是本發(fā)明的一實(shí)施例的監(jiān)控系統(tǒng)模型示意圖。如圖3所示,本發(fā)明的一個(gè)具體實(shí)施例的監(jiān)控系統(tǒng)模型可以包括三個(gè)模塊:數(shù)據(jù)收集模塊(Data Collection Module,簡稱DCM)、數(shù)據(jù)聚集模塊(Data Aggregation Module,簡稱DAM)和數(shù)據(jù)存儲(chǔ)模塊(Data StorageModule,簡稱DSM)。最底層的每個(gè)葉子節(jié)點(diǎn)為DCM,分別對應(yīng)一個(gè)計(jì)算機(jī)節(jié)點(diǎn)。DCM周期性的收集其所在節(jié)點(diǎn)的狀態(tài)數(shù)據(jù)并對數(shù)據(jù)進(jìn)行處理,然后將處理后的數(shù)據(jù)發(fā)送給上層的DAM。DAM將收集的數(shù)據(jù)發(fā)送給其上層的DAM或DSM。DSM將收集的數(shù)據(jù)存入數(shù)據(jù)庫。用戶可通過訪問數(shù)據(jù)庫獲得計(jì)算機(jī)系統(tǒng)的當(dāng)前狀態(tài)或歷史狀態(tài)。具體來說,各模塊的內(nèi)容如下所述。數(shù)據(jù)收集模塊DCM的工作步驟包括:步驟Al.收集所在節(jié)點(diǎn)的靜態(tài)信息(例如CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大小等),發(fā)送給上層DAM;步驟A2.周期性(時(shí)間周期有用戶自定義)收集所在節(jié)點(diǎn)的動(dòng)態(tài)信息(例如CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率等);
步驟A3.將收集來的各個(gè)度量指標(biāo)的值與上次發(fā)送的相應(yīng)指標(biāo)的值進(jìn)行比較,若其變化超過一定量,則將該數(shù)據(jù)加入發(fā)送列表中;步驟A4.所有收集的數(shù)據(jù)完成步驟A3后,將發(fā)送列表的所有數(shù)據(jù)發(fā)送給其上層DAM。DCM的步驟A3使得每次發(fā)送的數(shù)據(jù)僅是完整數(shù)據(jù)的一部分,實(shí)現(xiàn)監(jiān)控?cái)?shù)據(jù)的壓縮,較少了數(shù)據(jù)傳輸量,從而提高了監(jiān)控系統(tǒng)的擴(kuò)展性。DCM的步驟A3也實(shí)現(xiàn)了自動(dòng)調(diào)節(jié)發(fā)送數(shù)據(jù)的時(shí)間粒度的功能:當(dāng)節(jié)點(diǎn)狀態(tài)的某個(gè)度量指標(biāo)數(shù)據(jù)變化范圍和頻率較大時(shí),就需要每個(gè)周期發(fā)送該度量指標(biāo)的數(shù)據(jù),從而發(fā)送該度量指標(biāo)的時(shí)間粒度就較細(xì);而當(dāng)節(jié)點(diǎn)狀態(tài)某個(gè)度量指標(biāo)數(shù)據(jù)變化范圍或頻率較小時(shí),這時(shí)DCM就會(huì)在一些周期內(nèi)不發(fā)送該度量指標(biāo)的數(shù)據(jù),從而發(fā)送該度量指標(biāo)的時(shí)間粒度就較粗。數(shù)據(jù)聚集模塊DAM的工作步驟包括:步驟B1.接收來自其下層的DCM或DAM的數(shù)據(jù);步驟B2.將接收的所有數(shù)據(jù)進(jìn)行解析并將解析所得的數(shù)據(jù)進(jìn)行聚集;步驟B3.將聚集所得 數(shù)據(jù)發(fā)送給其上層的DAM(若該DAM的上層是DAM)或DSM(若該DAM為最上層的DAM)。數(shù)據(jù)存儲(chǔ)模塊DSM的工作步驟包括:步驟Cl.接收來自最上層的DAM發(fā)送的數(shù)據(jù);步驟C2.將接收的數(shù)據(jù)進(jìn)行解析,并將結(jié)果存入數(shù)據(jù)庫。具體而言,本發(fā)明的三個(gè)模塊(DCM、DAM和DSM)分別有三個(gè)守護(hù)進(jìn)程實(shí)現(xiàn)。這三個(gè)守護(hù)進(jìn)程分別為:數(shù)據(jù)收集守護(hù)進(jìn)程(Data Collection Daemon, D⑶)、數(shù)據(jù)聚集守護(hù)進(jìn)程(Data Aggregation Daemon, DAD)和數(shù)據(jù)存儲(chǔ)守護(hù)進(jìn)程(Data Storage Daemon DSD)。圖4是本法嗎的一實(shí)施例的監(jiān)控系統(tǒng)中的三個(gè)進(jìn)程示意圖。如圖4所示:數(shù)據(jù)收集守護(hù)進(jìn)程D⑶的具體步驟如下:步驟Al.收集所在節(jié)點(diǎn)的靜態(tài)信息并將其形成數(shù)據(jù)報(bào)文(其中的第一位為1,表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息;第二位為1,表示該數(shù)據(jù)報(bào)文是由DCD發(fā)送的);步驟A2.將步驟Al得到的數(shù)據(jù)報(bào)文發(fā)送給其上層的DAD ;步驟A3.設(shè)定定時(shí)器,周期性的執(zhí)行步驟A4到步驟A6 ;步驟A4.初始化動(dòng)態(tài)信息報(bào)文:第一位設(shè)定為0,表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息;第二位為1,表示該數(shù)據(jù)報(bào)文是由D⑶發(fā)送的;步驟A5.收集節(jié)點(diǎn)動(dòng)態(tài)信息,與其上一次發(fā)送的相應(yīng)信息值相比較,若兩者差的絕對值超過一定值(如CPU利用率為5%,內(nèi)存使用率為5%等),則將該動(dòng)態(tài)信息追加到步驟A4的報(bào)文中;步驟A6.將步驟A5得到的數(shù)據(jù)報(bào)文發(fā)送給其上層的DAD。數(shù)據(jù)聚集守護(hù)進(jìn)程DAD的具體步驟如下:步驟B1.接收數(shù)據(jù)報(bào)文(定義為msgl)并初始化一個(gè)新的數(shù)據(jù)報(bào)文(定義為msg2),將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O。判斷msgl的第二位,若為1,表示該數(shù)據(jù)報(bào)文來自DCD,轉(zhuǎn)到步驟B4,反之繼續(xù);步驟B2.將msgl分割成多個(gè)小的數(shù)據(jù)報(bào)文,其中一個(gè)小的數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù);
步驟B3.判斷msgl的第一位,若為1,表示該數(shù)據(jù)報(bào)文為節(jié)點(diǎn)的靜態(tài)信息,對步驟B2中獲得的多個(gè)小的數(shù)據(jù)報(bào)文分別執(zhí)行步驟B5和步驟B7,反之對這些數(shù)據(jù)報(bào)文分別執(zhí)行步驟B6和步驟B7 ;步驟B4.msgl的第一位,若為1,表示該數(shù)據(jù)報(bào)文為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行步驟B5,反之,執(zhí)行步驟B6 ;步驟B5.將msgl或步驟B2所得的多個(gè)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息并轉(zhuǎn)到步驟B7 ;步驟B6.將msgl或步驟B2所得的多個(gè)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息;步驟B7.將步驟B5或步驟B6解析所得的信息追加到msg2中;步驟B8.將msg2發(fā)送給上層的DAD或DSD,轉(zhuǎn)到步驟BI。數(shù)據(jù)存儲(chǔ)守護(hù)進(jìn)程DSD的具體步驟如下:步驟Cl.接收數(shù)據(jù)報(bào)文(設(shè)為msg),將msg分割成多個(gè)小的數(shù)據(jù)報(bào)文;步驟C2.判斷msg的第二位,若為0,則轉(zhuǎn)到步驟C4,反之繼續(xù);步驟C3.將步驟Cl所得的多個(gè)小的數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息并插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中,轉(zhuǎn)到步驟Cl ;
步驟C4.將步驟Cl所得的多個(gè)小的數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,對每條信息執(zhí)行步驟C5 ;步驟C5.將信息插入數(shù)據(jù)庫的歷史信息表中,并更新數(shù)據(jù)庫的最新狀態(tài)數(shù)據(jù)表的相應(yīng)記錄,轉(zhuǎn)到步驟Cl。當(dāng)然,本發(fā)明還可有其它多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情況下,熟悉本領(lǐng)域的技術(shù)人員當(dāng)可根據(jù)本發(fā)明作出各種相應(yīng)的改變和變形,但這些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,其特征在于,包括: 步驟1,數(shù)據(jù)收集模塊收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊; 步驟2,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作; 步驟3,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊; 步驟4,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊; 步驟5,數(shù)據(jù)存儲(chǔ)模塊分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。
2.如權(quán)利要求1所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,其特征在于, 所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息; 所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。
3.如權(quán)利要求1所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,其特征在于,所述步驟4包括: 步驟41,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為1,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行步驟43,若為O,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行步驟42 ; 步驟42,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行步驟43 ; 步驟43,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,執(zhí)行步驟44,若為O,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行步驟45 ; 步驟44,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行步驟46 ; 步驟45,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行步驟46 ; 步驟46,將步驟44或步驟45解析所得的信息追加到msg2中,執(zhí)行步驟47 ; 步驟47,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ)模塊或上層的數(shù)據(jù)聚集模塊。
4.如權(quán)利要求1所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,其特征在于,所述步驟5包括: 步驟51,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文; 步驟52,判斷msg的第二位,若為O,則執(zhí)行步驟54,若為1,則執(zhí)行步驟53 ; 步驟53,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中; 步驟54,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。
5.如權(quán)利要求1所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的方法,其特征在于, 所述靜態(tài)信息包括=CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大??;所述動(dòng)態(tài)信息包括:CPU利用率、內(nèi)存占用率、帶寬使用量和磁盤使用率。
6.一種通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),其特征在于,包括: 數(shù)據(jù)收集模塊,用于收集所在監(jiān)控節(jié)點(diǎn)的靜態(tài)信息,并將所述靜態(tài)信息轉(zhuǎn)化成靜態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊; 比較模塊,所述數(shù)據(jù)收集模塊周期性的收集所在監(jiān)控節(jié)點(diǎn)的動(dòng)態(tài)信息,并將其與上一周期發(fā)送的相應(yīng)動(dòng)態(tài)信息相比較,若差值超過指定值,則將收集的動(dòng)態(tài)信息加入到發(fā)送列表中,否則繼續(xù)下一周期的收集操作; 發(fā)送模塊,動(dòng)態(tài)信息收集完畢后,將所述發(fā)送列表中的所有動(dòng)態(tài)信息轉(zhuǎn)化成動(dòng)態(tài)數(shù)據(jù)報(bào)文發(fā)送給上層的數(shù)據(jù)聚集模塊; 數(shù)據(jù)聚集模塊,用于接收數(shù)據(jù)報(bào)文,對接收的所有數(shù)據(jù)報(bào)文的來源進(jìn)行判斷,若來源是下層的數(shù)據(jù)聚集模塊,則直接發(fā)送給數(shù)據(jù)存儲(chǔ)模塊,若來源是數(shù)據(jù)收集模塊,則進(jìn)行屬性判斷后分別解析成相應(yīng)的動(dòng)態(tài)信息和靜態(tài)信息,然后將所述動(dòng)態(tài)信息和靜態(tài)信息聚集成新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文后發(fā)送給上層的數(shù)據(jù)存儲(chǔ)模塊; 數(shù)據(jù)存儲(chǔ)模塊,用于分別將所述新的動(dòng)態(tài)數(shù)據(jù)報(bào)文和靜態(tài)數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)動(dòng)態(tài)信息和節(jié)點(diǎn)靜態(tài)信息后,將其分別插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表和歷史信息表中,更新數(shù)據(jù)庫。
7.如權(quán)利要求6所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),其特征在于, 所述數(shù)據(jù)報(bào)文的第一位表示信息屬性,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,第一位為O則表不該數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息; 所述數(shù)據(jù)報(bào)文的第二位表示信息來源,第一位為I表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)收集模塊,第一位為O則表示該數(shù)據(jù)報(bào)文的數(shù)據(jù)來源于數(shù)據(jù)聚集模塊。
8.如權(quán)利要求6所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),其特征在于,所述數(shù)據(jù)聚集模塊包括: 初始化模塊,數(shù)據(jù)聚集模塊接收數(shù)據(jù)報(bào)文msgl并初始化一個(gè)新的數(shù)據(jù)報(bào)文msg2,將msg2的第一位設(shè)定為msgl的第一位,第二位設(shè)定為O,然后判斷msgl的第二位,若為I,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)收集模塊,執(zhí)行聚集判斷模塊,若為O,表示該數(shù)據(jù)報(bào)文來自數(shù)據(jù)聚集模塊,則執(zhí)行聚集分割模塊; 聚集分割模塊,將msgl分割成多個(gè)子數(shù)據(jù)報(bào)文,其中一個(gè)子數(shù)據(jù)報(bào)文對應(yīng)一個(gè)節(jié)點(diǎn)的數(shù)據(jù),執(zhí)行聚集判斷模塊; 聚集判斷模塊,判斷msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的第一位,若為1,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為靜態(tài)信息,執(zhí)行靜態(tài)解析模塊,若為O,表示msgl或所述多個(gè)子數(shù)據(jù)報(bào)文的數(shù)據(jù)為動(dòng)態(tài)信息,則執(zhí)行動(dòng)態(tài)解析模塊; 靜態(tài)解析模塊,將msgl或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的靜態(tài)信息,執(zhí)行追加模塊; 動(dòng)態(tài)解析模塊,將msg l或所述多個(gè)子數(shù)據(jù)報(bào)文解析為節(jié)點(diǎn)的動(dòng)態(tài)信息,執(zhí)行追加模塊; 追加模塊,將靜態(tài)解析模塊或動(dòng)態(tài)解析模塊解析所得的信息追加到msg2中,執(zhí)行處理模塊; 處理模塊,將msg2發(fā)送給數(shù)據(jù)存儲(chǔ)模塊或上層的數(shù)據(jù)聚集模塊。
9.如權(quán)利要求6所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),其特征在于,所述數(shù)據(jù)存儲(chǔ)模塊包括: 存儲(chǔ)分割模塊,所述數(shù)據(jù)存儲(chǔ)模塊接收數(shù)據(jù)報(bào)文msg,將msg分割成多個(gè)子數(shù)據(jù)報(bào)文;存儲(chǔ)判斷模塊,判斷msg的第二位,若為O,則執(zhí)行第二插入模塊,若為I,則執(zhí)行第一插入模塊; 第一插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)靜態(tài)信息,并將其插入數(shù)據(jù)庫的靜態(tài)數(shù)據(jù)表中; 第二插入模塊,將所述多個(gè)子數(shù)據(jù)報(bào)文分別解析為節(jié)點(diǎn)動(dòng)態(tài)信息,并將其插入數(shù)據(jù)庫的歷史信息表中。
10.如權(quán)利要求6所述的通過壓縮數(shù)據(jù)提高監(jiān)控資源擴(kuò)展性的系統(tǒng),其特征在于, 所述靜態(tài)信息包括=CPU頻率、內(nèi)存大小、網(wǎng)絡(luò)帶寬和磁盤大小;所述動(dòng)態(tài)信息包括:(PU利用率、內(nèi)存占用率、 帶寬使用量和磁盤使用率。
全文摘要
本發(fā)明提供一種基于數(shù)據(jù)壓縮的可擴(kuò)展的監(jiān)控方法及系統(tǒng)。方法和系統(tǒng)的主要特征是每個(gè)需要監(jiān)控的結(jié)點(diǎn)上調(diào)用數(shù)據(jù)收集模塊,該模塊將最新收集的數(shù)據(jù)與其上次發(fā)送的數(shù)據(jù)相比較,若相差超過一定范圍內(nèi),就將新數(shù)據(jù)發(fā)送給數(shù)據(jù)聚集模塊,反之,就不發(fā)送所獲取的新數(shù)據(jù)。從而實(shí)現(xiàn)了網(wǎng)絡(luò)傳輸量的減小和監(jiān)控系統(tǒng)時(shí)間粒度的自動(dòng)調(diào)節(jié),進(jìn)而提高了監(jiān)控系統(tǒng)的可擴(kuò)展性。聚集模塊對其接收的數(shù)據(jù)聚集處理后再發(fā)送至數(shù)據(jù)存儲(chǔ)模塊進(jìn)行存儲(chǔ),然后就可以通過訪問數(shù)據(jù)聚集數(shù)據(jù)庫獲得計(jì)算環(huán)境的當(dāng)前信息或歷史狀態(tài)。
文檔編號G06F17/30GK103226572SQ20131010233
公開日2013年7月31日 申請日期2013年3月27日 優(yōu)先權(quán)日2013年3月27日
發(fā)明者王博, 孫毓忠, 楊慶林 申請人:中國科學(xué)院計(jì)算技術(shù)研究所
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
东丰县| 台中县| 鞍山市| 神农架林区| 泗洪县| 延庆县| 增城市| 迁安市| 芒康县| 崇仁县| 武山县| 邛崃市| 班玛县| 西峡县| 仙居县| 开封县| 建湖县| 高阳县| 青岛市| 德惠市| 丰城市| 大荔县| 普格县| 甘洛县| 南丹县| 明溪县| 裕民县| 博客| 桃园市| 灵璧县| 浪卡子县| 南安市| 廉江市| 保康县| 西昌市| 安吉县| 鄢陵县| 昌宁县| 苍南县| 随州市| 桦甸市|