本發(fā)明涉及網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種獲取IP訪問關(guān)系的方法及裝置。
背景技術(shù):
在傳統(tǒng)技術(shù)中,大型綜合性互聯(lián)網(wǎng)應(yīng)用、社交應(yīng)用以及大型的ERP(Enterprise Resource Planning,企業(yè)資源計(jì)劃,一種企業(yè)管理軟件)應(yīng)用的服務(wù)器通常數(shù)目較多,并置于統(tǒng)一的大型機(jī)房中。該多個(gè)服務(wù)器通常根據(jù)業(yè)務(wù)被劃分為多個(gè)服務(wù)器集群,一個(gè)服務(wù)器集群中的服務(wù)器處于業(yè)務(wù)邏輯上的同一模塊。
傳統(tǒng)技術(shù)中的網(wǎng)絡(luò)監(jiān)控系統(tǒng)通常需要對(duì)服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控,從而方便網(wǎng)絡(luò)監(jiān)控人員了解業(yè)務(wù)數(shù)據(jù)在服務(wù)器集群之間流動(dòng)的情況,從而在系統(tǒng)出現(xiàn)異常時(shí),能通過網(wǎng)絡(luò)訪問流量走勢(shì)信息快速定位到出問題的服務(wù)器集群,從而方便修理。
然而,傳統(tǒng)技術(shù)中,抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的方法需要在機(jī)房中的每個(gè)服務(wù)器上持續(xù)抓取傳輸(接收和發(fā)送)的數(shù)據(jù)包,而抓取數(shù)據(jù)包的操作比較消耗服務(wù)器資源,從而對(duì)服務(wù)器本身的業(yè)務(wù)產(chǎn)生影響,因此傳統(tǒng)技術(shù)中抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的過程會(huì)導(dǎo)致服務(wù)器執(zhí)行效率下降。
技術(shù)實(shí)現(xiàn)要素:
基于此,為了解決傳統(tǒng)技術(shù)中抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的過程會(huì)導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提供了一種獲取IP訪問關(guān)系的方法。
一種獲取IP訪問關(guān)系的方法,包括:
查找傳輸協(xié)議端口,篩選出常駐監(jiān)聽端口和非常駐監(jiān)聽端口;
抓取所述常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包,抓取所述非常駐監(jiān)聽端口發(fā)送的最多第二數(shù)目的非空數(shù)據(jù)包;
獲取所述抓取到的非空數(shù)據(jù)包的源網(wǎng)絡(luò)地址IP和目的網(wǎng)絡(luò)地址IP,生成IP訪問關(guān)系信息;
將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器,由所述監(jiān)控服務(wù)器根據(jù)所述上傳的IP訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
此外,為了解決傳統(tǒng)技術(shù)中抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的過程會(huì)導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提供了一種獲取IP訪問關(guān)系的裝置。
一種獲取IP訪問關(guān)系的裝置,包括:
監(jiān)聽端口查找模塊,用于查找傳輸協(xié)議端口,篩選出常駐監(jiān)聽端口和非常駐監(jiān)聽端口;
數(shù)據(jù)包抓取模塊,用于抓取所述常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包;
數(shù)據(jù)包解析模塊,用于獲取所述抓取到的非空數(shù)據(jù)包的源網(wǎng)絡(luò)地址IP和目的網(wǎng)絡(luò)地址IP,生成IP訪問關(guān)系信息;
IP訪問關(guān)系信息上傳模塊,用于將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器,由所述監(jiān)控服務(wù)器根據(jù)所述上傳的IP訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
此外,為了解決傳統(tǒng)技術(shù)中抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的過程會(huì)導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提供了一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法。
一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法,所述方法包括:
每隔預(yù)設(shè)的第一時(shí)間周期接收業(yè)務(wù)服務(wù)器上傳的IP訪問關(guān)系信息,所述IP訪問關(guān)系信息中包含相互對(duì)應(yīng)的源IP和目的IP的集合;
對(duì)所述接收到的IP訪問關(guān)系信息進(jìn)行合并;
根據(jù)所述合并的IP訪問關(guān)系信息生成集群訪問關(guān)系信息,所述IP訪問關(guān)系信息中的源IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的源集群標(biāo)識(shí),所述IP訪問關(guān)系信息中的目的IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的目的集群標(biāo)識(shí);
根據(jù)所述集群訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
此外,為了解決傳統(tǒng)技術(shù)中抓取服務(wù)器集群之間互發(fā)的數(shù)據(jù)包進(jìn)行監(jiān)控的過程會(huì)導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提供了一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的裝置。
一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的裝置,所述方法包括:
IP訪問關(guān)系信息采集模塊,用于每隔預(yù)設(shè)的第一時(shí)間周期接收業(yè)務(wù)服務(wù)器上傳的IP訪問關(guān)系信息,所述IP訪問關(guān)系信息中包含相互對(duì)應(yīng)的源IP和目的IP的集合;
IP訪問關(guān)系信息合并模塊,用于對(duì)所述接收到的IP訪問關(guān)系信息進(jìn)行合并;
集群訪問關(guān)系生成模塊,用于根據(jù)所述合并的IP訪問關(guān)系信息生成集群訪問關(guān)系信息,所述IP訪問關(guān)系信息中的源IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的源集群標(biāo)識(shí),所述IP訪問關(guān)系信息中的目的IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的目的集群標(biāo)識(shí);
網(wǎng)絡(luò)訪問流量走勢(shì)信息生成模塊,用于根據(jù)所述集群訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
實(shí)施本發(fā)明實(shí)施例,將具有如下有益效果:
在獲取IP訪問關(guān)系的方法和生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法中,業(yè)務(wù)服務(wù)器可僅對(duì)常駐監(jiān)聽端口抓取少量的接收到的數(shù)據(jù)包,通過解析得到IP訪問關(guān)系信息,從而可生成網(wǎng)絡(luò)訪問流量走勢(shì)。與傳統(tǒng)技術(shù)相比,不需要對(duì)業(yè)務(wù)服務(wù)器上發(fā)送和接收的數(shù)據(jù)包進(jìn)行重復(fù)抓取,且抓取數(shù)據(jù)包的數(shù)量得到了限制,因此,業(yè)務(wù)服務(wù)器在抓取數(shù)據(jù)包的操作上損耗的計(jì)算機(jī)資源較小,從而提高了業(yè)務(wù)服務(wù)器的執(zhí)行效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
其中:
圖1為一個(gè)實(shí)施例中運(yùn)行于業(yè)務(wù)服務(wù)器的獲取IP訪問關(guān)系的方法的流程圖;
圖2為一個(gè)實(shí)施例中查找傳輸協(xié)議端口的過程示意圖;
圖3為一個(gè)實(shí)施例中一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法的流程圖;
圖4為一個(gè)實(shí)施例中一種獲取IP訪問關(guān)系的裝置的結(jié)構(gòu)示意圖;
圖5為一個(gè)實(shí)施例中一種生成網(wǎng)絡(luò)訪問流量走勢(shì)的裝置的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
為解決傳統(tǒng)技術(shù)中監(jiān)控網(wǎng)絡(luò)流量數(shù)據(jù)時(shí),由于不恰當(dāng)?shù)刈ト?shù)據(jù)包容易導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,在一個(gè)實(shí)施例中,特提出了一種通過抓取服務(wù)器之間交互的數(shù)據(jù)包來生成服務(wù)器集群之間網(wǎng)絡(luò)訪問流量走勢(shì)信息的機(jī)制,該機(jī)制通過在計(jì)算機(jī)系統(tǒng)上執(zhí)行兩部分方法來實(shí)現(xiàn),其中包括運(yùn)行在機(jī)房中業(yè)務(wù)服務(wù)器上的獲取IP訪問關(guān)系的方法以及運(yùn)行在監(jiān)控服務(wù)器上的生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法,上述方法的執(zhí)行均可依賴于計(jì)算機(jī)程序,可運(yùn)行于馮諾依曼體系的計(jì)算機(jī)系統(tǒng)之上。上述基于獲取IP訪問關(guān)系的方法的計(jì)算機(jī)程序可以客戶端程序的形式安裝在業(yè)務(wù)服務(wù)器上,上述基于生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法的計(jì)算機(jī)程序可以服務(wù)器程序的形式安裝在監(jiān)控服務(wù)器上。
具體的,如圖1所示,運(yùn)行于業(yè)務(wù)服務(wù)器的獲取IP訪問關(guān)系的方法可包括:
步驟S102:查找傳輸協(xié)議端口,篩選出常駐監(jiān)聽端口和非常駐監(jiān)聽端口。
在本實(shí)施例中,端口(即port)指的是計(jì)算機(jī)系統(tǒng)的邏輯端口,用于區(qū)分進(jìn)程。當(dāng)計(jì)算機(jī)系統(tǒng)接收自外部發(fā)送的數(shù)據(jù)包之后,則可通過數(shù)據(jù)包中包含的目的端口找到計(jì)算機(jī)系統(tǒng)上相應(yīng)的進(jìn)程,從而在計(jì)算機(jī)系統(tǒng)上運(yùn)行了多個(gè)進(jìn)程時(shí)可將接收到的數(shù)據(jù)包中的數(shù)據(jù)傳遞給適配的進(jìn)程。
傳輸協(xié)議端口即為服務(wù)器機(jī)房中的業(yè)務(wù)服務(wù)器之間傳輸數(shù)據(jù)所使用的傳輸 協(xié)議對(duì)應(yīng)的端口,通常情況下服務(wù)器機(jī)房中的服務(wù)器為基于TCP/IP(Transmission Control Protocol/Internet Protocol,數(shù)據(jù)傳輸協(xié)議/網(wǎng)絡(luò)協(xié)議)網(wǎng)絡(luò)搭建,因此,傳輸協(xié)議端口通常即為TCP端口和UDP(User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)端口。
例如,如圖2所示,在windows系統(tǒng)中,使用netstat指令,即可得到當(dāng)前計(jì)算機(jī)系統(tǒng)中存在的TCP端口和UDP端口。
常駐監(jiān)聽端口即為長(zhǎng)時(shí)間存在的端口,例如大部分公認(rèn)端口(端口號(hào)為0至1023)。通常情況下,業(yè)務(wù)服務(wù)器通常會(huì)長(zhǎng)時(shí)間地運(yùn)行服務(wù)器程序監(jiān)聽某個(gè)端口,從而接收其他設(shè)備向該業(yè)務(wù)服務(wù)器發(fā)送的數(shù)據(jù)包。
例如,F(xiàn)TP(File Transmission Protocol,文件傳輸協(xié)議)程序的常駐監(jiān)聽端口通常為21,即運(yùn)行FTP的服務(wù)器程序的業(yè)務(wù)服務(wù)器上的端口21長(zhǎng)期處于被監(jiān)聽狀態(tài)(即LISTENING狀態(tài)),當(dāng)有客戶端與業(yè)務(wù)服務(wù)器建立連接時(shí),則端口21處于(即ESTABLISHED狀態(tài)),當(dāng)有客戶端與業(yè)務(wù)服務(wù)器的連接不正常斷開時(shí),則端口21處于(即CLOSE_WAIT狀態(tài))。
非常駐監(jiān)聽端口即為短時(shí)間存在的端口,例如大部分動(dòng)態(tài)端口(端口號(hào)為1024至65535)。通常情況下,業(yè)務(wù)服務(wù)器在主動(dòng)向其他設(shè)備發(fā)送數(shù)據(jù)包時(shí),會(huì)使用非常駐監(jiān)聽端口。
如上例中,F(xiàn)TP客戶端向FTP服務(wù)器上傳數(shù)據(jù)時(shí),創(chuàng)建的socket對(duì)象可使用隨機(jī)分配的端口號(hào),例如,可分配10235端口作為發(fā)送數(shù)據(jù)包的端口,也就是說,客戶端的10235端口與服務(wù)器的端口21建立連接,并傳輸數(shù)據(jù)。但若該傳輸數(shù)據(jù)的傳輸量較小,則在較短的時(shí)間內(nèi)數(shù)據(jù)傳輸完畢,該socket對(duì)象被注銷,該10235端口即會(huì)被釋放,通過上述netstat指令則無法找到該10235端口。
在本實(shí)施例中,篩選出常駐監(jiān)聽端口和非常駐監(jiān)聽端口的步驟可具體為:周期性檢測(cè)查找到的傳輸協(xié)議端口是否存在,若連續(xù)預(yù)設(shè)次數(shù)檢測(cè)到該傳輸協(xié)議端口存在,則判定該查找到的傳輸協(xié)議端口為常駐監(jiān)聽端口。
例如,檢測(cè)的時(shí)間周期可設(shè)置為1分鐘,預(yù)設(shè)次數(shù)可設(shè)置為3次,也就是說,可每隔1分鐘執(zhí)行一次上述netstat指令,檢測(cè)計(jì)算機(jī)系統(tǒng)上已分配的TCP端口和UDP端口,共執(zhí)行3次,若某個(gè)TCP端口或UDP端口在3次檢測(cè)結(jié)果中均出現(xiàn),則可判定該TCP端口或UDP端口為常駐監(jiān)聽端口,也就是說,業(yè)務(wù)服 務(wù)器可能在監(jiān)聽是否有數(shù)據(jù)傳入該端口。
需要說明的是,不管端口處于何種狀態(tài),該端口均被視為存在。例如,即時(shí)TCP端口處于CLOSE_WAIT狀態(tài),但該TCP端口仍為存在。若該TCP端口不存在,則無法查詢到端口號(hào)對(duì)應(yīng)的狀態(tài)。
步驟S104:抓取所述常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包。
數(shù)據(jù)包包括包頭和正文兩部分,非空數(shù)據(jù)包即為正文部分包含有業(yè)務(wù)數(shù)據(jù)的數(shù)據(jù)包,而不是僅具有包頭部分而正文部分?jǐn)?shù)據(jù)量為0的心跳數(shù)據(jù)包。
如前所述,抓取常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包即可抓取業(yè)務(wù)服務(wù)器上常駐的業(yè)務(wù)應(yīng)用的服務(wù)器程序接收到的非空數(shù)據(jù)包。但該常駐監(jiān)聽端口向其他設(shè)備發(fā)送的非空數(shù)據(jù)包不會(huì)被抓取。
例如,web服務(wù)器程序的端口為80端口,由于該端口長(zhǎng)期存在,用于監(jiān)聽上傳的網(wǎng)頁訪問請(qǐng)求,因此,該80端口即為常駐監(jiān)聽端口,在80端口抓取的非空數(shù)據(jù)包則均為上傳的網(wǎng)頁訪問請(qǐng)求的數(shù)據(jù)包。
再例如,郵件服務(wù)器程序的端口為465端口,由于該端口長(zhǎng)期存在,用于監(jiān)聽上傳的網(wǎng)頁訪問請(qǐng)求,因此,該465端口即為常駐監(jiān)聽端口,在465端口抓取的非空數(shù)據(jù)包則均為上傳的通過郵件服務(wù)器進(jìn)行轉(zhuǎn)發(fā)的電子郵件的數(shù)據(jù)包。
抓取最多第一數(shù)目的非空數(shù)據(jù)包則是因?yàn)闃I(yè)務(wù)服務(wù)器可能在一段時(shí)間內(nèi)業(yè)務(wù)請(qǐng)求量較少(例如午夜時(shí)分的社交網(wǎng)絡(luò)應(yīng)用),因此,可能抓取不到足夠第一數(shù)目的非空數(shù)據(jù)包,但在業(yè)務(wù)繁忙時(shí),僅抓取第一數(shù)目的非空數(shù)據(jù)包即可。優(yōu)選的,第一數(shù)目為6000至8000個(gè)。
可選的,還可以抓取所述非常駐監(jiān)聽端口發(fā)送的最多第二數(shù)目的非空數(shù)據(jù)包,第一數(shù)目大于所述第二數(shù)目。
抓取所述非常駐監(jiān)聽端口發(fā)送的最多第二數(shù)目的非空數(shù)據(jù)包即可抓取業(yè)務(wù)服務(wù)器上的業(yè)務(wù)應(yīng)用的向其他設(shè)備發(fā)送的非空數(shù)據(jù)包。但通過該非常駐監(jiān)聽端口接收到的非空數(shù)據(jù)包不會(huì)被抓取。優(yōu)選的,第二數(shù)目為2000至4000個(gè)。
如前例中,若存在非常駐監(jiān)聽端口10235,則該端口發(fā)出的非空數(shù)據(jù)包將被抓取,但端口10235接收到的數(shù)據(jù)包則不會(huì)被抓取。
抓取上述數(shù)據(jù)包的方式可通過tcpdump工具進(jìn)行抓取。除了抓取常駐監(jiān)聽端口接收的最多第一數(shù)目的非空數(shù)據(jù)包之外,還抓取最多第二數(shù)目的非空數(shù)據(jù)包,使得生成IP訪問關(guān)系的樣本更加全面,從而可以提高最終生成的網(wǎng)絡(luò)訪問 流量走勢(shì)信息的精度。
可選的,在抓取常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包的步驟之前還包括:
獲取每單位個(gè)數(shù)處理器的負(fù)載信息,在每單位個(gè)數(shù)處理器的負(fù)載信息大于或等于負(fù)載閾值時(shí),中止抓取。
例如,在以linux為操作系統(tǒng)的業(yè)務(wù)服務(wù)器上,可獲取到負(fù)載參數(shù)load以及處理器CPU個(gè)數(shù),若load/CPU個(gè)數(shù)的比值大于或等于負(fù)載閾值,則表示業(yè)務(wù)服務(wù)器當(dāng)前的負(fù)載壓力較大,不適合再分配計(jì)算資源用于抓包進(jìn)行網(wǎng)絡(luò)流量監(jiān)控,因此,可中止抓取,待檢測(cè)到系統(tǒng)的load/CPU個(gè)數(shù)的比值降低到負(fù)載閾值以下時(shí),則可恢復(fù)抓取非空數(shù)據(jù)包的操作。從而可使得業(yè)務(wù)服務(wù)器在執(zhí)行抓包操作時(shí),使用的是業(yè)務(wù)服務(wù)器上多余的計(jì)算資源,而不會(huì)使用用于處理業(yè)務(wù)邏輯的計(jì)算資源來進(jìn)行抓包,從而避免了抓取數(shù)據(jù)包的操作造成的業(yè)務(wù)服務(wù)器的CPU額外的計(jì)算工作影響了正常業(yè)務(wù)邏輯的執(zhí)行。
步驟S106:獲取所述抓取到的非空數(shù)據(jù)包的源網(wǎng)絡(luò)地址IP和目的網(wǎng)絡(luò)地址IP,生成IP訪問關(guān)系信息。
不管是抓取的常駐監(jiān)聽端口接收到的非空數(shù)據(jù)包還是抓取的非常駐監(jiān)聽端口發(fā)送的非空數(shù)據(jù)包,其包頭部分均包含了源IP和目的IP,即發(fā)送該數(shù)據(jù)包的設(shè)備的IP地址(源IP)以及接收該數(shù)據(jù)包的設(shè)備的地址(目的IP)。通過解析非空數(shù)據(jù)包即可得到成對(duì)出現(xiàn)的源IP與目的IP。
例如,對(duì)于本地IP為192.168.0.100的業(yè)務(wù)服務(wù)器,其上運(yùn)行了web服務(wù)器程序和FTP服務(wù)器程序,則對(duì)抓取到的常駐監(jiān)聽端口接收到的不超過第一數(shù)目的數(shù)據(jù)包進(jìn)行解析,即可能得到如下成對(duì)出現(xiàn)的源IP與目的IP:
源192.168.0.102:10323,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目99;
源192.168.0.103:9833,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目123;
源192.168.0.104:10143,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目959;
源192.168.0.102:10423,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目43;
源192.168.0.102:23123,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目25;
源192.168.0.45:23123,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目657;
源192.168.0.98:3728,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目574;
源192.168.0.34:6123,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目1555;
……
上述例子中成對(duì)出現(xiàn)的源IP與目的IP即為IP地址為192.168.0.100的業(yè)務(wù)服務(wù)器上的IP訪問關(guān)系,通過該IP訪問關(guān)系即可獲知有哪些業(yè)務(wù)服務(wù)器訪問了IP地址為192.168.0.100業(yè)務(wù)服務(wù)器。且根據(jù)統(tǒng)計(jì)抓取到的具有相同源IP、源端口、目的IP和目的端口的數(shù)據(jù)包的數(shù)目,則可得到IP分別為192.168.0.102、192.168.0.104……等的業(yè)務(wù)服務(wù)器訪問IP地址為192.168.0.100業(yè)務(wù)服務(wù)器的訪問流量的比例。
而若IP為192.168.0.100的業(yè)務(wù)服務(wù)器在運(yùn)行過程中,還需要訪問IP為192.168.0.10的mysql數(shù)據(jù)庫服務(wù)器且,mysql數(shù)據(jù)庫的服務(wù)器程序的常駐監(jiān)聽端口為443,則對(duì)抓取到的常駐監(jiān)聽端口接收到的不超過第二數(shù)目的數(shù)據(jù)包進(jìn)行解析,即可能得到如下成對(duì)出現(xiàn)的源IP與目的IP:
源192.168.0.100:7643,目的192.168.0.10:443,數(shù)據(jù)包數(shù)目657;
源192.168.0.100:4569,目的192.168.0.10:443,數(shù)據(jù)包數(shù)目574;
源192.168.0.100:4542,目的192.168.0.10:443,數(shù)據(jù)包數(shù)目1555;
通過該IP訪問關(guān)系即可獲知IP地址為192.168.0.100業(yè)務(wù)服務(wù)器訪問了哪些業(yè)務(wù)服務(wù)器,以及IP地址為192.168.0.100業(yè)務(wù)服務(wù)器。且根據(jù)統(tǒng)計(jì)抓取到的具有相同源IP、源端口、目的IP和目的端口的數(shù)據(jù)包的數(shù)目,則可得到IP地址為192.168.0.100業(yè)務(wù)服務(wù)器訪問其他IP地址(例如192.168.0.10)的業(yè)務(wù)服務(wù)器的訪問流量的比例。
步驟S108:將IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器,由監(jiān)控服務(wù)器根據(jù)所述上傳的IP訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
運(yùn)行于業(yè)務(wù)服務(wù)器上的客戶端程序在抓取了相應(yīng)的非空數(shù)據(jù)包,并通過解析抓取到的非空數(shù)據(jù)包得到了IP訪問關(guān)系之后,即可將其上傳至監(jiān)控服務(wù)器。監(jiān)控服務(wù)器與機(jī)房中的多個(gè)業(yè)務(wù)服務(wù)器均可建立連接關(guān)系,機(jī)房中的多個(gè)業(yè)務(wù)服務(wù)器均可上傳IP訪問關(guān)系至監(jiān)控服務(wù)器。監(jiān)控服務(wù)器可將接收到的各個(gè)業(yè)務(wù)服務(wù)器上傳的IP訪問關(guān)系合并,從而得到各個(gè)業(yè)務(wù)服務(wù)器之間的網(wǎng)絡(luò)訪問流量信息。
可選的,業(yè)務(wù)服務(wù)器在將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器時(shí),還可獲取帶寬剩余量,在所述帶寬剩余量小于或等于帶寬閾值時(shí),將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器。
也就是說,業(yè)務(wù)服務(wù)器在向監(jiān)控服務(wù)器上傳IP訪問關(guān)系信息時(shí),需要在業(yè)務(wù)服務(wù)器的網(wǎng)絡(luò)閑暇時(shí)間段內(nèi)上傳,而不是在業(yè)務(wù)服務(wù)器在執(zhí)行業(yè)務(wù)的高峰期內(nèi),占用業(yè)務(wù)服務(wù)器有限的用于執(zhí)行業(yè)務(wù)邏輯的帶寬資源來上傳IP訪問關(guān)系信息,從而避免了抓取數(shù)據(jù)包的操作造成的業(yè)務(wù)服務(wù)器的帶寬損耗影響了正常業(yè)務(wù)邏輯的執(zhí)行。
在本實(shí)施例中,監(jiān)控服務(wù)器通過查詢IP與服務(wù)器集群的集群標(biāo)識(shí)的對(duì)應(yīng)關(guān)系,即可得到業(yè)務(wù)邏輯上處于同一模塊的業(yè)務(wù)服務(wù)器構(gòu)成的服務(wù)器集群之間的網(wǎng)絡(luò)訪問流量走勢(shì)信息。
具體的,如圖3所示,通過監(jiān)控服務(wù)器生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法可包括:
步驟S202,每隔預(yù)設(shè)的第一時(shí)間周期接收業(yè)務(wù)服務(wù)器上傳的IP訪問關(guān)系信息,所述IP訪問關(guān)系信息中包含相互對(duì)應(yīng)的源IP和目的IP的集合。
第一時(shí)間周期即為通過業(yè)務(wù)服務(wù)器抓取非空數(shù)據(jù)包并上傳的采樣周期,可設(shè)置為30分鐘。業(yè)務(wù)服務(wù)器可每30分鐘執(zhí)行上述步驟S102至步驟S108,將該30分鐘抓取的非空數(shù)據(jù)包通過解析生成的IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器。
可選的,還可設(shè)置抓取時(shí)長(zhǎng),優(yōu)選為5分鐘。也就是說,業(yè)務(wù)服務(wù)器在每隔30分鐘抓取數(shù)據(jù)包時(shí),可僅抓取5分鐘內(nèi)常駐監(jiān)聽端口接收到的非空數(shù)據(jù)包和非常駐監(jiān)聽端口發(fā)送的非空數(shù)據(jù)包。若在不到5分鐘時(shí)提前抓取了第一數(shù)目的常駐監(jiān)聽端口接收到的非空數(shù)據(jù)包,則停止對(duì)常駐監(jiān)聽端口接收到非空數(shù)據(jù)包進(jìn)行抓取。若在不到5分鐘時(shí)提前抓取了第二數(shù)目的非常駐監(jiān)聽端口發(fā)送的非空數(shù)據(jù)包,則停止對(duì)非常駐監(jiān)聽端口發(fā)送的非空數(shù)據(jù)包進(jìn)行抓取。若在5分鐘抵達(dá)時(shí),未抓取到第一數(shù)目和第二數(shù)目的非空數(shù)據(jù)包,也停止抓取并上傳,待到25分鐘(周期30分鐘減去抓取5分鐘)后進(jìn)入下一周期時(shí)再進(jìn)行抓取。
而對(duì)于監(jiān)控服務(wù)器而言,即每隔30分鐘由各個(gè)業(yè)務(wù)服務(wù)器采集一次IP訪問關(guān)系。
步驟S204,對(duì)接收到的IP訪問關(guān)系信息進(jìn)行合并。
在本實(shí)施例中,可每隔預(yù)設(shè)的第二時(shí)間周期合并所述接收到的IP訪問關(guān)系信息。第二時(shí)間周期即為監(jiān)控服務(wù)器統(tǒng)計(jì)網(wǎng)絡(luò)訪問流量走勢(shì)信息的統(tǒng)計(jì)周期。第二時(shí)間周期為第一時(shí)間周期的整數(shù)倍,可選為1小時(shí)。也就是說,業(yè)務(wù)服務(wù)器在1小時(shí)內(nèi)經(jīng)歷兩個(gè)抓取數(shù)據(jù)包的周期,并在每個(gè)抓包周期內(nèi)將根據(jù)抓取到 的非空數(shù)據(jù)包生成的IP訪問關(guān)系上傳至監(jiān)控服務(wù)器。監(jiān)控服務(wù)器則每隔1小時(shí)進(jìn)行一次統(tǒng)計(jì)合并,將多次采集得到的IP訪問關(guān)系信息進(jìn)行整合。
步驟S206,根據(jù)合并的IP訪問關(guān)系信息生成集群訪問關(guān)系信息,IP訪問關(guān)系信息中的源IP對(duì)應(yīng)集群訪問關(guān)系信息中的源集群標(biāo)識(shí),IP訪問關(guān)系信息中的目的IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的目的集群標(biāo)識(shí)。
步驟S208,根據(jù)所述集群訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
如前所述,若合并后得到的IP訪問關(guān)系信息如下:
源192.168.0.102:10323,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目99;
源192.168.0.103:9833,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目123;
源192.168.0.104:10143,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目959;
源192.168.0.102:10423,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目43;
源192.168.0.102:23123,目的192.168.0.100:80,數(shù)據(jù)包數(shù)目25;
源192.168.0.45:23123,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目657;
源192.168.0.98:3728,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目574;
源192.168.0.34:6123,目的192.168.0.100:21,數(shù)據(jù)包數(shù)目1555;
而通過查詢IP地址192.168.0.102、192.168.0.103和192.168.0.104對(duì)應(yīng)服務(wù)器集群A,192.168.0.45、192.168.0.98和192.168.0.34對(duì)應(yīng)服務(wù)器集群B,IP地址192.168.0.100對(duì)應(yīng)服務(wù)器集群C,則根據(jù)上述IP訪問關(guān)系信息得到集群訪問關(guān)系信息即為:
源集群:A,目的集群:C,數(shù)據(jù)包個(gè)數(shù):1249;
源集群:B,目的集群:C,數(shù)據(jù)包個(gè)數(shù):2786;
……
然后根據(jù)上述集群訪問關(guān)系即可生成服務(wù)器集群之間的網(wǎng)絡(luò)訪問流量走勢(shì)信息。
可選的,還可根據(jù)目的IP的端口號(hào)對(duì)IP訪問關(guān)系進(jìn)行分類,并查找端口號(hào)對(duì)應(yīng)的業(yè)務(wù)標(biāo)識(shí),再根據(jù)分類生成與業(yè)務(wù)標(biāo)識(shí)對(duì)應(yīng)的服務(wù)器集群之間的網(wǎng)絡(luò)訪問流量走勢(shì)信息。
如前例中,可在監(jiān)控服務(wù)器接收到IP訪問關(guān)系信息中查找目的IP的端口號(hào)為443的IP訪問關(guān)系信息,該端口號(hào)對(duì)應(yīng)了mysql數(shù)據(jù)庫的業(yè)務(wù)標(biāo)識(shí),則可根據(jù)該查找到的與目的IP的端口號(hào)為443對(duì)應(yīng)的IP訪問關(guān)系信息生成服務(wù)器 集群之間在mysql數(shù)據(jù)庫訪問業(yè)務(wù)上的網(wǎng)絡(luò)訪問流量走勢(shì)信息。
在一個(gè)實(shí)施例中,為解決傳統(tǒng)技術(shù)中監(jiān)控網(wǎng)絡(luò)流量數(shù)據(jù)時(shí),由于不恰當(dāng)?shù)刈ト?shù)據(jù)包容易導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提出了一種與前述獲取IP訪問關(guān)系的方法對(duì)應(yīng)的獲取IP訪問關(guān)系的裝置,如圖4所示,包括:監(jiān)聽端口查找模塊102、數(shù)據(jù)包抓取模塊104、數(shù)據(jù)包解析模塊106以及IP訪問關(guān)系信息上傳模塊108,其中:
監(jiān)聽端口查找模塊102,用于查找傳輸協(xié)議端口,篩選出常駐監(jiān)聽端口和非常駐監(jiān)聽端口。
數(shù)據(jù)包抓取模塊104,用于抓取所述常駐監(jiān)聽端口接收到的最多第一數(shù)目的非空數(shù)據(jù)包。
數(shù)據(jù)包解析模塊106,用于獲取所述抓取到的非空數(shù)據(jù)包的源網(wǎng)絡(luò)地址IP和目的網(wǎng)絡(luò)地址IP,生成IP訪問關(guān)系信息。
IP訪問關(guān)系信息上傳模塊108,用于將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器,由所述監(jiān)控服務(wù)器根據(jù)所述上傳的IP訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
在本實(shí)施例中,數(shù)據(jù)包抓取模塊104還用于抓取所述非常駐監(jiān)聽端口發(fā)送的最多第二數(shù)目的非空數(shù)據(jù)包,所述第一數(shù)目大于所述第二數(shù)目。
在本實(shí)施例中,監(jiān)聽端口查找模塊102還用于周期性檢測(cè)查找到的傳輸協(xié)議端口是否存在,若連續(xù)預(yù)設(shè)次數(shù)檢測(cè)到該傳輸協(xié)議端口存在,則判定該查找到的傳輸協(xié)議端口為常駐監(jiān)聽端口。
在本實(shí)施例中,數(shù)據(jù)包抓取模塊104還用于獲取每單位個(gè)數(shù)處理器的負(fù)載信息,在所述每單位個(gè)數(shù)處理器的負(fù)載信息大于或等于負(fù)載閾值時(shí),中止抓取。
在本實(shí)施例中,IP訪問關(guān)系信息上傳模塊108還用于獲取帶寬剩余量,在所述帶寬剩余量小于或等于帶寬閾值時(shí),將所述IP訪問關(guān)系信息上傳至監(jiān)控服務(wù)器。
在一個(gè)實(shí)施例中,為解決傳統(tǒng)技術(shù)中監(jiān)控網(wǎng)絡(luò)流量數(shù)據(jù)時(shí),由于不恰當(dāng)?shù)刈ト?shù)據(jù)包容易導(dǎo)致服務(wù)器執(zhí)行效率下降的技術(shù)問題,還提出了一種與前述生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法對(duì)應(yīng)的生成網(wǎng)絡(luò)訪問流量走勢(shì)的裝置,如圖5所示, 包括:IP訪問關(guān)系信息采集模塊202、IP訪問關(guān)系信息合并模塊204、集群訪問關(guān)系生成206以及網(wǎng)絡(luò)訪問流量走勢(shì)信息生成模塊208,其中:
IP訪問關(guān)系信息采集模塊202,用于每隔預(yù)設(shè)的第一時(shí)間周期接收業(yè)務(wù)服務(wù)器上傳的IP訪問關(guān)系信息,所述IP訪問關(guān)系信息中包含相互對(duì)應(yīng)的源IP和目的IP的集合。
IP訪問關(guān)系信息合并模塊204,用于對(duì)所述接收到的IP訪問關(guān)系信息進(jìn)行合并。
集群訪問關(guān)系生成模塊206,用于根據(jù)所述合并的IP訪問關(guān)系信息生成集群訪問關(guān)系信息,所述IP訪問關(guān)系信息中的源IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的源集群標(biāo)識(shí),所述IP訪問關(guān)系信息中的目的IP對(duì)應(yīng)所述集群訪問關(guān)系信息中的目的集群標(biāo)識(shí)。
網(wǎng)絡(luò)訪問流量走勢(shì)信息生成模塊208,用于根據(jù)所述集群訪問關(guān)系信息生成網(wǎng)絡(luò)訪問流量走勢(shì)信息。
在本實(shí)施例中,IP訪問關(guān)系信息合并模塊204還用于每隔預(yù)設(shè)的第二時(shí)間周期合并所述接收到的IP訪問關(guān)系信息。
綜上所述,實(shí)施本發(fā)明實(shí)施例,將具有如下有益效果:
在獲取IP訪問關(guān)系的方法和生成網(wǎng)絡(luò)訪問流量走勢(shì)的方法中,業(yè)務(wù)服務(wù)器可僅對(duì)常駐監(jiān)聽端口抓取少量的接收到的數(shù)據(jù)包,通過解析得到IP訪問關(guān)系信息,從而可生成網(wǎng)絡(luò)訪問流量走勢(shì)。與傳統(tǒng)技術(shù)相比,不需要對(duì)業(yè)務(wù)服務(wù)器上發(fā)送和接收的數(shù)據(jù)包進(jìn)行重復(fù)抓取,且抓取數(shù)據(jù)包的數(shù)量得到了限制,因此,業(yè)務(wù)服務(wù)器在抓取數(shù)據(jù)包的操作上損耗的計(jì)算機(jī)資源較小,從而提高了業(yè)務(wù)服務(wù)器的執(zhí)行效率。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-Only Memory,ROM)或隨機(jī)存儲(chǔ)記憶體(Random Access Memory,RAM)等。
以上所揭露的僅為本發(fā)明較佳實(shí)施例而已,當(dāng)然不能以此來限定本發(fā)明之 權(quán)利范圍,因此依本發(fā)明權(quán)利要求所作的等同變化,仍屬本發(fā)明所涵蓋的范圍。