本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,具體來(lái)說(shuō),涉及一種網(wǎng)絡(luò)拓?fù)鋱D的顯示方法和裝置。
背景技術(shù):
隨著高性能計(jì)算在中國(guó)市場(chǎng)的廣泛應(yīng)用,數(shù)據(jù)中心服務(wù)器集群的規(guī)模也在不斷的擴(kuò)大,在大規(guī)模的應(yīng)用中,集群對(duì)網(wǎng)絡(luò)的壓力和依賴也越來(lái)越大,大規(guī)模集群的網(wǎng)絡(luò)管理變得更加復(fù)雜。目前,大多數(shù)網(wǎng)絡(luò)監(jiān)控管理平臺(tái)通過(guò)命令已無(wú)法完成對(duì)網(wǎng)絡(luò)的實(shí)時(shí)監(jiān)控,同時(shí)排查問(wèn)題的難度也會(huì)加大,同時(shí),由于節(jié)點(diǎn)數(shù)量龐大,拓?fù)潢P(guān)系展現(xiàn)即將成為眾多網(wǎng)絡(luò)監(jiān)控產(chǎn)品的突出問(wèn)題,因此,現(xiàn)有技術(shù)存在如下問(wèn)題:
在管理端的瀏覽器屏幕中一次顯示大于300以上的拓?fù)潢P(guān)系時(shí),根據(jù)現(xiàn)有的拓?fù)渑帕泻茈y看出拓?fù)潢P(guān)系,同時(shí),現(xiàn)有的拓?fù)鋱D給人的感覺(jué)也很混亂;
現(xiàn)有的拓?fù)湔宫F(xiàn)一般都采用傳統(tǒng)的樹(shù)型拓?fù)洌捎跇?shù)型拓?fù)錇榫€型結(jié)構(gòu),因此,該樹(shù)型拓?fù)錈o(wú)法展現(xiàn)過(guò)多的節(jié)點(diǎn),難以克服節(jié)點(diǎn)、交換機(jī),拓?fù)潢P(guān)系連線等重合覆蓋問(wèn)題,因此,對(duì)于IB(InfiniBand,無(wú)限帶寬技術(shù))環(huán)型網(wǎng)絡(luò),該樹(shù)形拓?fù)鋸谋举|(zhì)上就無(wú)法滿足;
現(xiàn)有技術(shù)中,針對(duì)節(jié)點(diǎn)數(shù)量太多的解決辦法為分層拓?fù)?,但是,其弊端在于無(wú)法一次性展現(xiàn)全網(wǎng)狀況,同時(shí),對(duì)于網(wǎng)絡(luò)監(jiān)控也起不到直接查看的作用,操作也更加煩瑣,用戶體驗(yàn)也會(huì)更差;
現(xiàn)有技術(shù)中,通常拓?fù)涔?jié)點(diǎn)數(shù)據(jù)與節(jié)點(diǎn)關(guān)系不能有效的進(jìn)行分離,從而導(dǎo)致在頁(yè)面展現(xiàn)時(shí),數(shù)據(jù)解析性能下降,同時(shí),其網(wǎng)絡(luò)拓?fù)潢P(guān)系數(shù)據(jù)耦合性太高,導(dǎo)致解析消耗瀏覽器的資源較大,從而導(dǎo)致頁(yè)面卡頓的現(xiàn)象。
針對(duì)相關(guān)技術(shù)中的問(wèn)題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)相關(guān)技術(shù)中的問(wèn)題,本發(fā)明提出一種網(wǎng)絡(luò)拓?fù)鋱D的顯示方法和裝置,能夠通過(guò)環(huán)型排列布局來(lái)解決IB拓?fù)浣粨Q機(jī)環(huán)形網(wǎng)絡(luò)問(wèn)題,并且通過(guò)環(huán)型排列布局最大化減少多數(shù)據(jù)節(jié)點(diǎn)引起的拓?fù)潢P(guān)系覆蓋的問(wèn)題,此外,通過(guò)節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)這種分層的方式,解決IB網(wǎng)絡(luò)拓?fù)鋽?shù)據(jù)量大時(shí)渲染頁(yè)面卡頓問(wèn)題,還通過(guò)環(huán)形圖標(biāo)排列最大優(yōu)化IB拓?fù)渲袛?shù)據(jù)關(guān)系連線覆蓋問(wèn)題。
本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
根據(jù)本發(fā)明的一個(gè)方面,提供了一種網(wǎng)絡(luò)拓?fù)鋱D的顯示方法。
該顯示方法包括:獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求;根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端;客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)包括:根據(jù)第一數(shù)據(jù)請(qǐng)求,選取IB網(wǎng)絡(luò)中的任一拓?fù)涔?jié)點(diǎn);根據(jù)選取后的任一拓?fù)涔?jié)點(diǎn),獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列包括:客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的數(shù)量信息;客戶端獲取瀏覽器的窗口尺寸信息,并且根據(jù)窗口尺寸信息,確定窗口中最大的圓區(qū)域;客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式包括:客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)的第一圖標(biāo)信息和第一環(huán)數(shù)信息,以及確定交換機(jī)的第二圖標(biāo)信息和第二環(huán)數(shù)信息;客戶端根據(jù)第一圖標(biāo)信息和第一環(huán)數(shù)信息,對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列;客戶端根據(jù)第二圖標(biāo)信息和第二環(huán)數(shù)信息,對(duì)交換機(jī)進(jìn)行環(huán)形排列。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,分別對(duì)拓?fù)涔?jié)點(diǎn)和交換機(jī)進(jìn)行多環(huán)形排列。
根據(jù)本發(fā)明的另一方面,提供了一種網(wǎng)絡(luò)拓?fù)鋱D的顯示裝置。
該顯示裝置包括:第一獲取模塊,設(shè)置在服務(wù)端中,用于獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求;解析發(fā)送模塊,設(shè)置在客戶端中,用于根據(jù)第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端;環(huán)形排列模塊,設(shè)置在客戶端中,用于根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,解析發(fā)送模塊包括:選取模塊,用于根據(jù)第一數(shù)據(jù)請(qǐng)求,選取IB網(wǎng)絡(luò)中的任一拓?fù)涔?jié)點(diǎn);第二獲取模塊,用于根據(jù)選取后的任一拓?fù)涔?jié)點(diǎn),獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,環(huán)形排列模塊包括:第一確定模塊,用于根據(jù)節(jié)點(diǎn)數(shù)據(jù),確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的數(shù)量信息;第三獲取模塊,用于獲取瀏覽器的窗口尺寸信息,并且根據(jù)窗口尺寸信息,確定窗口中最大的圓區(qū)域;第二確定模塊,用于客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,第二確定模塊包括:確定子模塊,用于根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)的第一圖標(biāo)信息和第一環(huán)數(shù)信息,以及確定交換機(jī)的第二圖標(biāo)信息和第二環(huán)數(shù)信息;第一排列模塊,用于根據(jù)第一圖標(biāo)信息和第一環(huán)數(shù)信息,對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列;第二排列模塊,用于根據(jù)第二圖標(biāo)信息和第二環(huán)數(shù)信息,對(duì)交換機(jī)進(jìn)行環(huán)形排列。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步包括:環(huán)形排列子模塊,用于分別對(duì)拓?fù)涔?jié)點(diǎn)和交換機(jī)進(jìn)行多環(huán)形排列。
本發(fā)明的有益效果在于:
本發(fā)明通過(guò)獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求,隨后根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端,最后客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線,從而能夠通過(guò)環(huán)型排列布局避免多數(shù)據(jù)節(jié)點(diǎn)的拓?fù)潢P(guān)系之間覆蓋的情況,同時(shí),通過(guò)環(huán)形排列布局能夠更直觀的展現(xiàn)IB網(wǎng)絡(luò)拓?fù)洹?/p>
附圖說(shuō)明
為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)拓?fù)鋱D的顯示方法的流程圖;
圖2是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)拓?fù)鋱D的顯示裝置的示意圖;
圖3是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)拓?fù)鋱D的顯示方法的具體流程圖;
圖4是根據(jù)本發(fā)明實(shí)施例的環(huán)形拓?fù)渌惴ǖ木唧w流程圖;
圖5是根據(jù)本發(fā)明實(shí)施例的網(wǎng)絡(luò)拓?fù)鋱D的顯示裝置的框圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
根據(jù)本發(fā)明的實(shí)施例,提供了一種網(wǎng)絡(luò)拓?fù)鋱D的顯示方法。
如圖1所示,根據(jù)本發(fā)明實(shí)施例的顯示方法包括:
步驟S101,獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求;
步驟S103,根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端;
步驟S105,客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線。
通過(guò)本發(fā)明的上述方案,通過(guò)獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求,隨后根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端,最后客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線,從而能夠通過(guò)環(huán)型排列布局避免多數(shù)據(jù)節(jié)點(diǎn)的拓?fù)潢P(guān)系之間覆蓋的情況,同時(shí),通過(guò)環(huán)形排列布局能夠更直觀的展現(xiàn)IB網(wǎng)絡(luò)拓?fù)洹?/p>
根據(jù)本發(fā)明的一個(gè)實(shí)施例,根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)包括:根據(jù)第一數(shù)據(jù)請(qǐng)求,選取IB網(wǎng)絡(luò)中的任一拓?fù)涔?jié)點(diǎn);根據(jù)選取后的任一拓?fù)涔?jié)點(diǎn),獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列包括:客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的數(shù)量信息;客戶端獲取瀏覽器的窗口尺寸信息,并且根據(jù)窗口尺寸信息,確定窗口中最大的圓區(qū)域;客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式包括:客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)的第一圖標(biāo)信息和第一環(huán)數(shù)信息,以及確定交換機(jī)的第二圖標(biāo)信息和第二環(huán)數(shù)信息;客戶端根據(jù)第一圖標(biāo)信息和第一環(huán)數(shù)信息,對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列;客戶端根據(jù)第二圖標(biāo)信息和第二環(huán)數(shù)信息,對(duì)交換機(jī)進(jìn)行環(huán)形排列。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,分別對(duì)拓?fù)涔?jié)點(diǎn)和交換機(jī)進(jìn)行多環(huán)形排列。
為了更好的描述本發(fā)明,下面通過(guò)具體的實(shí)施例進(jìn)行詳細(xì)的描述。
為解決現(xiàn)有IB網(wǎng)絡(luò)監(jiān)控系統(tǒng)中存在的問(wèn)題,本發(fā)明采用了環(huán)型排列算法展現(xiàn)IB網(wǎng)絡(luò)拓?fù)?。如圖2所示,主體架構(gòu)是常見(jiàn)的BS架構(gòu),其包括服務(wù)端和客戶端,并且該客戶端和服務(wù)端的功能如下:
服務(wù)端:其主要負(fù)責(zé)2個(gè)功能,首先在IB網(wǎng)絡(luò)上選取任意一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)的選取方法是可根據(jù)拓?fù)渑渲梦募械呐渲么_定的,同時(shí),該拓?fù)渑渲梦募羞€保存了拓?fù)鋽?shù)據(jù)的存儲(chǔ)位置等配置信息,在選取的節(jié)點(diǎn)上執(zhí)行查看IB網(wǎng)絡(luò)信息的命令,從而獲得該IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)并返回信息,并且把得到的返回信息寫入臨時(shí)文件,隨后按照返回內(nèi)容解析拓?fù)鋽?shù)據(jù)在網(wǎng)絡(luò)拓?fù)渲械淖饔?,其中,該拓?fù)鋽?shù)據(jù)包括節(jié)點(diǎn)數(shù)據(jù)(或拓?fù)涔?jié)點(diǎn)數(shù)據(jù))和節(jié)點(diǎn)關(guān)系數(shù)據(jù)(或拓?fù)涔?jié)點(diǎn)關(guān)系數(shù)據(jù)),其中,節(jié)點(diǎn)數(shù)據(jù)是關(guān)于拓?fù)涔?jié)點(diǎn)的信息,如拓?fù)涔?jié)點(diǎn)的當(dāng)前流量等信息;節(jié)點(diǎn)關(guān)系數(shù)據(jù)是關(guān)于拓?fù)涔?jié)點(diǎn)的連接關(guān)系的數(shù)據(jù),如圖2中所示的環(huán)形鏈接等,此外,本發(fā)明所采用的拓?fù)鋽?shù)據(jù)分析也采用節(jié)點(diǎn)數(shù)據(jù)與節(jié)點(diǎn)關(guān)系數(shù)據(jù)分開(kāi)解析的方式進(jìn)行加載,這樣更清晰,同時(shí)也減少了瀏覽器的解析壓力;
客戶端:負(fù)責(zé)瀏覽器界面的布局排列和展現(xiàn),首先,它會(huì)定期向服務(wù)端發(fā)送AJAX(Asynchronous Javascript And XML,異步JavaScript和XML)請(qǐng)求,從而該服務(wù)端接收到請(qǐng)求后會(huì)執(zhí)行IB網(wǎng)拓?fù)涿?,并查看指定的臨時(shí)文件是否在指定位置,并返回客戶端結(jié)果,隨后客戶端根據(jù)執(zhí)行結(jié)果再次發(fā)出獲取拓?fù)鋽?shù)據(jù)的AJAX請(qǐng)求,服務(wù)器返回拓?fù)鋽?shù)據(jù),同時(shí)設(shè)置在客戶端中的排列展現(xiàn)模塊用于負(fù)責(zé)計(jì)算拓?fù)涔?jié)點(diǎn)如何排列、計(jì)算圖標(biāo)的大小位置、計(jì)算拓?fù)潢P(guān)系如何最優(yōu)不被覆蓋率等。
此外,圖3示出了網(wǎng)絡(luò)拓?fù)鋱D的顯示方法的具體流程圖,其具體流程如下:
步驟S1,用戶選擇拓?fù)渑渲梦募?duì)其進(jìn)行設(shè)置,如指定選取的拓?fù)涔?jié)點(diǎn),該設(shè)置完成后,服務(wù)端會(huì)讀取用戶對(duì)IB網(wǎng)的拓?fù)渑渲茫?/p>
步驟S2,根據(jù)該配置執(zhí)行IB網(wǎng)拓?fù)涿睿⑴袛嗤負(fù)涿钍欠駡?zhí)行成功,如果執(zhí)行成功,將選取的拓?fù)涔?jié)點(diǎn)返回的結(jié)果輸出到臨時(shí)文件中,并返回命令執(zhí)行結(jié)果到客戶端,若未成功,則返回步驟S1;
步驟S3,客戶端根據(jù)返回結(jié)果發(fā)起第二次拓?fù)鋽?shù)據(jù)請(qǐng)求;
步驟S4,服務(wù)端在接收到上述第二次拓?fù)鋽?shù)據(jù)請(qǐng)求后,將IB拓?fù)鋽?shù)據(jù)解析并組裝成客戶端指定的分離式數(shù)據(jù),并將其返回至客戶端,即將拓?fù)鋽?shù)據(jù)分離為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù);
步驟S5,客戶端獲取瀏覽器的短邊長(zhǎng)度,并以該短邊長(zhǎng)度為直徑截取最大的圓面積大小,即根據(jù)拓?fù)渚匦握故緟^(qū)域的寬作為直徑,截取一個(gè)最大的圓面積,同時(shí),用圓面積作為分母,用節(jié)點(diǎn)數(shù)交換機(jī)數(shù)的和為分子,計(jì)算出拓?fù)涔?jié)點(diǎn)和交換機(jī)圖標(biāo)的默認(rèn)大小,以便拓?fù)涔?jié)點(diǎn)和交換機(jī)的清楚展現(xiàn),隨后再計(jì)算出拓?fù)涔?jié)點(diǎn)和交換機(jī)排列的環(huán)數(shù),并算出每一環(huán)中拓?fù)涔?jié)點(diǎn)和交換機(jī)的數(shù)量,此外,還可用第一環(huán)的數(shù)量控制每環(huán)之間的環(huán)間距,其進(jìn)一步通過(guò)環(huán)型拓?fù)渑帕泄竭M(jìn)行排列,該排列公式具體如下:
P[N,r]/r
其中,P是指排列,即P是從N個(gè)元素取r個(gè)元素進(jìn)行排列得到排列數(shù);N是指元素的總個(gè)數(shù);r是參與選擇的元素個(gè)數(shù),如:由于N個(gè)不同字母構(gòu)成的環(huán)排列與其構(gòu)成的線排列是1對(duì)n的,即每個(gè)環(huán)排列對(duì)應(yīng)n個(gè)線排列,而n個(gè)字母線排列數(shù)為n!,故由以上對(duì)應(yīng)關(guān)系可知環(huán)排列數(shù)為P(n,n)/n=(n-1)!,此時(shí)考慮從r個(gè)字母中取出N個(gè)數(shù)進(jìn)行線排列,有P(r,N)個(gè)線排列,綜上,由上面的對(duì)應(yīng)關(guān)系得對(duì)應(yīng)的環(huán)排列應(yīng)該是P[N,r]/r。
此外,圖4示出了環(huán)形拓?fù)渌惴ǖ木唧w流程圖,其具體流程如下:
步驟S1,客戶端通過(guò)向服務(wù)端發(fā)送AJAX請(qǐng)求后,在執(zhí)行完該AJAX請(qǐng)求后,該服務(wù)端返回JSON(JavaScript Object Notation,JavaScript對(duì)象表示法)數(shù)據(jù),該JSON數(shù)據(jù)為拓?fù)鋽?shù)據(jù);
步驟S2,客戶端獲取瀏覽器屏幕的大?。?/p>
步驟S3,客戶端根據(jù)獲取的JSON數(shù)據(jù),確定IB網(wǎng)絡(luò)中交換機(jī)和拓?fù)涔?jié)點(diǎn)的數(shù)量;
步驟S4,將拓?fù)渚匦握故緟^(qū)域的寬作為直徑,截取一個(gè)最大的圓面積,同時(shí),用圓面積作為分母,用節(jié)點(diǎn)數(shù)交換機(jī)數(shù)的和為分子,計(jì)算出拓?fù)涔?jié)點(diǎn)和交換機(jī)圖標(biāo)的默認(rèn)大小,隨后再算出拓?fù)涔?jié)點(diǎn)和交換機(jī)排列的環(huán)數(shù);
步驟S5,根據(jù)預(yù)設(shè)的環(huán)形算法,對(duì)拓?fù)涔?jié)點(diǎn)和交換機(jī)的圖標(biāo)進(jìn)行排列,如圖5所示,將拓?fù)涔?jié)點(diǎn)的圖標(biāo)設(shè)置在環(huán)外圍,將交換機(jī)圖標(biāo)設(shè)置在環(huán)中心附件,并且拓?fù)涔?jié)點(diǎn)的圖標(biāo)和交換機(jī)圖標(biāo)均具有多個(gè)環(huán)數(shù);
步驟S6,客戶端根據(jù)獲取的JSON數(shù)據(jù)中的節(jié)點(diǎn)關(guān)系數(shù)據(jù),解析拓?fù)潢P(guān)系數(shù)據(jù)進(jìn)行連線,如,根據(jù)本發(fā)明的一個(gè)實(shí)施例,將拓?fù)鋱D的中心顯示為交換機(jī),外圍顯示服務(wù)器節(jié)點(diǎn),此外,可通過(guò)設(shè)置服務(wù)器節(jié)點(diǎn)和交換機(jī)的連線的寬度顯示網(wǎng)絡(luò)流量,如可通過(guò)細(xì)線代表網(wǎng)絡(luò)正常,相對(duì)較粗的線代表網(wǎng)絡(luò)流量大,并且該拓?fù)鋱D可支持局部放大和拖動(dòng)效果。
根據(jù)本發(fā)明的實(shí)施例,還提供了一種網(wǎng)絡(luò)拓?fù)鋱D的顯示裝置。
如圖5所示,根據(jù)本發(fā)明實(shí)施例的顯示裝置包括:
第一獲取模塊51,設(shè)置在服務(wù)端中,用于獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求;
解析發(fā)送模塊52,設(shè)置在客戶端中,用于根據(jù)第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端;
環(huán)形排列模塊53,設(shè)置在客戶端中,用于根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,解析發(fā)送模塊52包括:
選取模塊(未示出),用于根據(jù)第一數(shù)據(jù)請(qǐng)求,選取IB網(wǎng)絡(luò)中的任一拓?fù)涔?jié)點(diǎn);
第二獲取模塊(未示出),用于根據(jù)選取后的任一拓?fù)涔?jié)點(diǎn),獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,環(huán)形排列模塊53包括:
第一確定模塊(未示出),用于根據(jù)節(jié)點(diǎn)數(shù)據(jù),確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的數(shù)量信息;
第三獲取模塊(未示出),用于獲取瀏覽器的窗口尺寸信息,并且根據(jù)窗口尺寸信息,確定窗口中最大的圓區(qū)域;
第二確定模塊(未示出),用于客戶端根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)和交換機(jī)的環(huán)形排序方式。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,第二確定模塊包括:
確定子模塊(未示出),用于根據(jù)圓區(qū)域和數(shù)量信息,確定拓?fù)涔?jié)點(diǎn)的第一圖標(biāo)信息和第一環(huán)數(shù)信息,以及確定交換機(jī)的第二圖標(biāo)信息和第二環(huán)數(shù)信息;
第一排列模塊(未示出),用于根據(jù)第一圖標(biāo)信息和第一環(huán)數(shù)信息,對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列;
第二排列模塊(未示出),用于根據(jù)第二圖標(biāo)信息和第二環(huán)數(shù)信息,對(duì)交換機(jī)進(jìn)行環(huán)形排列。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,進(jìn)一步包括:環(huán)形排列子模塊(未示出),用于分別對(duì)拓?fù)涔?jié)點(diǎn)和交換機(jī)進(jìn)行多環(huán)形排列。
綜上所述,借助于本發(fā)明的上述技術(shù)方案,通過(guò)獲取客戶端的第一數(shù)據(jù)請(qǐng)求和第二數(shù)據(jù)請(qǐng)求,隨后根據(jù)客戶端的第一數(shù)據(jù)請(qǐng)求,獲取IB網(wǎng)絡(luò)的拓?fù)鋽?shù)據(jù),并且根據(jù)第二數(shù)據(jù)請(qǐng)求,對(duì)拓?fù)鋽?shù)據(jù)進(jìn)行解析,以將拓?fù)鋽?shù)據(jù)分為節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù),以及將節(jié)點(diǎn)數(shù)據(jù)和節(jié)點(diǎn)關(guān)系數(shù)據(jù)發(fā)送至客戶端,最后客戶端根據(jù)節(jié)點(diǎn)數(shù)據(jù),對(duì)拓?fù)涔?jié)點(diǎn)進(jìn)行環(huán)形排列,并且根據(jù)節(jié)點(diǎn)關(guān)系數(shù)據(jù),對(duì)排列后的拓?fù)涔?jié)點(diǎn)進(jìn)行連線,從而能夠通過(guò)環(huán)型排列布局避免多數(shù)據(jù)節(jié)點(diǎn)的拓?fù)潢P(guān)系之間覆蓋的情況,同時(shí),通過(guò)環(huán)形排列布局能夠更直觀的展現(xiàn)IB網(wǎng)絡(luò)拓?fù)洹?/p>
以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。