一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及云計(jì)算、大數(shù)據(jù)計(jì)算、流式計(jì)算、數(shù)據(jù)可視化領(lǐng)域,具體涉及到一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)。
【背景技術(shù)】
[0002]Storm云環(huán)境內(nèi)部實(shí)時(shí)可視化對(duì)于感知云環(huán)境健康狀態(tài)是及其重要的。
[0003]首先,Storm作為海量實(shí)時(shí)數(shù)據(jù)流處理平臺(tái),其必須保證高可獲得性、高可靠性和高使用性,挖掘Storm集群內(nèi)部狀態(tài),并將其可視化對(duì)于保證高可獲得性和高可靠性是至關(guān)重要的。
[0004]其次,Storm云集群無論是從節(jié)點(diǎn)規(guī)模還是流數(shù)據(jù)規(guī)模而言,從任務(wù)到物理節(jié)點(diǎn)的部署都具有高度分布式化的特性,這使得獲取整個(gè)云環(huán)境的狀態(tài)變得十分困難。加之,三維可視化具有速度慢、開銷大、可移植性差等特性,給面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)的開發(fā)帶來了諸多挑戰(zhàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提出一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),解決了現(xiàn)有技術(shù)中獲取整個(gè)云環(huán)境的狀態(tài)十分困難的問題。
[0006]本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0007]一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),周期性地與Storm云環(huán)境主節(jié)點(diǎn)交互,感知集群節(jié)點(diǎn)個(gè)數(shù)和資源消耗、worker與任務(wù)線程到Storm云的物理映射、每個(gè)任務(wù)資源消耗、拓?fù)浣Y(jié)構(gòu)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)屬性的狀態(tài),實(shí)現(xiàn)對(duì)Storm云環(huán)境內(nèi)部運(yùn)行狀態(tài)的監(jiān)控;同時(shí),利用OpenGL在Java虛擬機(jī)上實(shí)現(xiàn)的JOGL開源庫來實(shí)現(xiàn)對(duì)所獲得的狀態(tài)的實(shí)時(shí)可視化。
[0008]可選地,Storm云環(huán)境上運(yùn)行的Nimbus主節(jié)點(diǎn)為外界提供調(diào)用自身的API接口,首先通過指定主節(jié)點(diǎn)IP和Nimbus進(jìn)程所在端口開啟遠(yuǎn)程過程調(diào)用客戶端,客戶端訪問物理集群的狀態(tài)和業(yè)務(wù)拓?fù)涞臓顟B(tài)。
[0009]可選地,集群中的計(jì)算節(jié)點(diǎn)周期性地發(fā)送自己的狀態(tài)到主節(jié)點(diǎn)上的Nimbus進(jìn)程,其保存著每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)和運(yùn)行在計(jì)算節(jié)點(diǎn)上的拓?fù)涞臓顟B(tài),連接到Nimbus進(jìn)程的客戶端周期性地調(diào)用Nimbus提供的API接口來獲取其保存的狀態(tài),從而實(shí)現(xiàn)集群的狀態(tài)感知。
[0010]本發(fā)明的有益效果是:
[0011](I)具有資源消耗少的特點(diǎn),不會(huì)與Storm集群運(yùn)行的任務(wù)爭搶資源。
[0012](2)該系統(tǒng)在Java虛擬機(jī)上運(yùn)行,但是其底層的三維顯示是基于OpenGL開發(fā),通過JNI技術(shù)導(dǎo)入動(dòng)態(tài)鏈接庫,實(shí)現(xiàn)了可接受的響應(yīng)速度。
【附圖說明】
[0013]為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0014]圖1為本發(fā)明一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)的拓?fù)溆成鋱D;
[0015]圖2為本發(fā)明一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)示意圖。
【具體實(shí)施方式】
[0016]下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0017]本發(fā)明提出了一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),首先,開啟Storm實(shí)時(shí)云環(huán)境,并提交拓?fù)涞郊?接下來,開啟Storm部署狀態(tài)收集器;然后,開啟三維可視化服務(wù)器;再然后,判斷并更新Storm集群狀態(tài),判斷Storm部署狀態(tài)是否為最新數(shù)據(jù);最后,在三維空間中動(dòng)態(tài)顯示集群的物理特性、部署狀態(tài)以及任務(wù)的運(yùn)行時(shí)狀態(tài)。
[0018]下面結(jié)合說明書附圖1和附圖2對(duì)本發(fā)明的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)進(jìn)行詳細(xì)說明。
[0019]如圖1所示,在一個(gè)云實(shí)時(shí)計(jì)算環(huán)境下,每一個(gè)任務(wù)都運(yùn)行著各自相應(yīng)的業(yè)務(wù)計(jì)算邏輯,任務(wù)之間存在的相關(guān)性主要通過邏輯關(guān)系與物理關(guān)系兩個(gè)方面來展現(xiàn)。邏輯關(guān)系方面指的是計(jì)算任務(wù)之間的數(shù)據(jù)通信,如圖1所示,任務(wù)之間的有向箭頭表示任務(wù)之間的數(shù)據(jù)流向,這種流向也同時(shí)體現(xiàn)在圖2中球之間的連線。物理關(guān)系方面指的是任務(wù)與任務(wù)所在的物理位置,任務(wù)之間的位置關(guān)系主要包括:是否處于同一云,是否處于同一物理機(jī),是否處于同一虛擬機(jī)。圖1中的虛線表示計(jì)算任務(wù)與物理節(jié)點(diǎn)通信端口(一個(gè)虛擬機(jī)入住于物理節(jié)點(diǎn)的一個(gè)或多個(gè)端口,在Storm實(shí)時(shí)云計(jì)算環(huán)境里面,表示的是一個(gè)worker進(jìn)程)之間的映射關(guān)系,這種關(guān)系在圖2中球與立方體之間的連線中也表現(xiàn)出來。在圖2中球表示Storm云的計(jì)算任務(wù),立方體表示物理節(jié)點(diǎn)中的某一虛擬機(jī)(在Storm實(shí)時(shí)云計(jì)算環(huán)境里面,表示的是一個(gè)worker進(jìn)程);球之間的連線表示任務(wù)之間的邏輯關(guān)系,球與立方體之間的連線表示任務(wù)與虛擬機(jī)間的物理映射,立方體之間的連線表示其所鏈接的虛擬機(jī)處于同一物理節(jié)點(diǎn)。
[0020]如圖2所示,本發(fā)明提出的一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),其工作原理在于:
[0021]其通過周期性地與Storm云環(huán)境主節(jié)點(diǎn)交互,感知集群節(jié)點(diǎn)個(gè)數(shù)和資源消耗、worker與任務(wù)線程到Storm云的物理映射、每個(gè)任務(wù)資源消耗、拓?fù)浣Y(jié)構(gòu)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)屬性等在內(nèi)的狀態(tài),實(shí)現(xiàn)對(duì)Storm云環(huán)境內(nèi)部運(yùn)行狀態(tài)的監(jiān)控;同時(shí),利用OpenGL三維可視化技術(shù)在Java虛擬機(jī)上實(shí)現(xiàn)的JOGL開源庫來實(shí)現(xiàn)對(duì)上述所獲得的狀態(tài)的實(shí)時(shí)可視化。
[0022]Storm云環(huán)境上運(yùn)行的Nimbus主節(jié)點(diǎn)為外界提供調(diào)用自身的API接口,本發(fā)明的系統(tǒng)與Storm云環(huán)境主節(jié)點(diǎn)交互的過程,具體為:首先通過指定主節(jié)點(diǎn)IP和Nimbus進(jìn)程所在端口開啟遠(yuǎn)程過程調(diào)用客戶端,這樣客戶端能訪問物理集群的狀態(tài)和業(yè)務(wù)拓?fù)涞臓顟B(tài)。
[0023]集群中的計(jì)算節(jié)點(diǎn)會(huì)周期性地發(fā)送自己的狀態(tài)到主節(jié)點(diǎn)上的Nimbus進(jìn)程,其保存著每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)和運(yùn)行在計(jì)算節(jié)點(diǎn)上的拓?fù)涞臓顟B(tài),連接到Nimbus進(jìn)程的客戶端可以周期性地調(diào)用Nimbus提供的API接口來獲取其保存的狀態(tài),從而實(shí)現(xiàn)集群的狀態(tài)感知。
[0024]隨著拓?fù)涞奶峤缓徒Y(jié)束、物理節(jié)點(diǎn)的增刪、流入Storm云環(huán)境數(shù)據(jù)規(guī)模的擴(kuò)大和減少、任務(wù)和worker的調(diào)度迀移,本發(fā)明的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)能正確地將這些變化顯示在可視化平臺(tái)上面。
[0025]本發(fā)明的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)具有資源消耗少的特點(diǎn),不會(huì)與Storm集群運(yùn)行的任務(wù)爭搶資源;該系統(tǒng)在Java虛擬機(jī)上運(yùn)行,但是其底層的三維顯示是基于OpenGL開發(fā),通過JNI技術(shù)導(dǎo)入動(dòng)態(tài)鏈接庫,實(shí)現(xiàn)了可接受的響應(yīng)速度。
[0026]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【主權(quán)項(xiàng)】
1.一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),其特征在于,周期性地與Storm云環(huán)境主節(jié)點(diǎn)交互,感知集群節(jié)點(diǎn)個(gè)數(shù)和資源消耗、worker與任務(wù)線程到Storm云的物理映射、每個(gè)任務(wù)資源消耗、拓?fù)浣Y(jié)構(gòu)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)屬性的狀態(tài),實(shí)現(xiàn)對(duì)Storm云環(huán)境內(nèi)部運(yùn)行狀態(tài)的監(jiān)控;同時(shí),利用OpenGL在Java虛擬機(jī)上實(shí)現(xiàn)的JOGL開源庫來實(shí)現(xiàn)對(duì)所獲得的狀態(tài)的實(shí)時(shí)可視化。2.如權(quán)利要求1所述的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),其特征在于,Storm云環(huán)境上運(yùn)行的Nimbus主節(jié)點(diǎn)為外界提供調(diào)用自身的API接口,首先通過指定主節(jié)點(diǎn)IP和Nimbus進(jìn)程所在端口開啟遠(yuǎn)程過程調(diào)用客戶端,客戶端訪問物理集群的狀態(tài)和業(yè)務(wù)拓?fù)涞臓顟B(tài)。3.如權(quán)利要求1所述的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),其特征在于,集群中的計(jì)算節(jié)點(diǎn)周期性地發(fā)送自己的狀態(tài)到主節(jié)點(diǎn)上的Nimbus進(jìn)程,其保存著每個(gè)計(jì)算節(jié)點(diǎn)的狀態(tài)和運(yùn)行在計(jì)算節(jié)點(diǎn)上的拓?fù)涞臓顟B(tài),連接到Nimbus進(jìn)程的客戶端周期性地調(diào)用Nimbus提供的API接口來獲取其保存的狀態(tài),從而實(shí)現(xiàn)集群的狀態(tài)感知。
【專利摘要】本發(fā)明提出了一種面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng),周期性地與Storm云環(huán)境主節(jié)點(diǎn)交互,感知集群節(jié)點(diǎn)個(gè)數(shù)和資源消耗、worker與任務(wù)線程到Storm云的物理映射、每個(gè)任務(wù)資源消耗、拓?fù)浣Y(jié)構(gòu)的靜態(tài)結(jié)構(gòu)和動(dòng)態(tài)屬性的狀態(tài),實(shí)現(xiàn)對(duì)Storm云環(huán)境內(nèi)部運(yùn)行狀態(tài)的監(jiān)控;同時(shí),利用OpenGL在Java虛擬機(jī)上實(shí)現(xiàn)的JOGL開源庫來實(shí)現(xiàn)對(duì)所獲得的狀態(tài)的實(shí)時(shí)可視化。本發(fā)明的面向?qū)崟r(shí)大數(shù)據(jù)平臺(tái)Storm的運(yùn)行時(shí)三維可視化系統(tǒng)具有資源消耗少的特點(diǎn),不會(huì)與Storm集群運(yùn)行的任務(wù)爭搶資源。
【IPC分類】G06F11/32, G06F9/455, G06F11/30
【公開號(hào)】CN105630652
【申請(qǐng)?zhí)枴緾N201610084893
【發(fā)明人】張衛(wèi)山, 段鵬程, 李忠偉, 宮文娟, 盧清華
【申請(qǐng)人】中國石油大學(xué)(華東)
【公開日】2016年6月1日
【申請(qǐng)日】2016年2月2日