本發(fā)明涉及網(wǎng)絡(luò)管理領(lǐng)域,尤其涉及一種網(wǎng)元監(jiān)測方法和裝置。
背景技術(shù):
在網(wǎng)絡(luò)管理中,當(dāng)需要監(jiān)測網(wǎng)元是否正常時,通常都采用輪詢的方法。所謂輪詢,是網(wǎng)管系統(tǒng)定期的向其網(wǎng)元發(fā)送查詢報文,當(dāng)所述網(wǎng)元有應(yīng)答報文返回給所述網(wǎng)管系統(tǒng)時,說明所述網(wǎng)元正常;但是如果超過一定時間,所述網(wǎng)管系統(tǒng)沒有接收到所述網(wǎng)元的應(yīng)答報文,即所述網(wǎng)元沒有返回響應(yīng),則說明所述網(wǎng)元出現(xiàn)故障。當(dāng)網(wǎng)管系統(tǒng)中的網(wǎng)元出現(xiàn)故障時,要求網(wǎng)管系統(tǒng)能夠快速發(fā)現(xiàn)網(wǎng)元故障,但是當(dāng)所述網(wǎng)管系統(tǒng)管理的網(wǎng)元規(guī)模較大時,如達(dá)到幾千上萬個的時候,要求所述網(wǎng)管系統(tǒng)快速發(fā)現(xiàn)網(wǎng)元故障是很難做到。
常見的輪詢方法是利用SNMP(Simple Network Management Protocol,簡單網(wǎng)絡(luò)管理協(xié)議)依次對網(wǎng)管系統(tǒng)中的各個網(wǎng)元狀態(tài)進(jìn)行輪詢,即對一個網(wǎng)元發(fā)送SNMP GET請求,等待所述網(wǎng)元返回響應(yīng)或者超時后,再對下一個網(wǎng)元采取同樣辦法進(jìn)行輪詢。假如一個網(wǎng)元輪詢平均時間為t,網(wǎng)元總數(shù)為n,那么網(wǎng)管系統(tǒng)中網(wǎng)元輪詢一遍的時間為nt,當(dāng)n值達(dá)到幾千的時候,輪詢的總時間就會很長。現(xiàn)有的改進(jìn)辦法是采用多線程并發(fā)去輪詢。若線程數(shù)為m,那么輪詢的總時間為(nt/m),在n值和t值一定的情況下,為縮短輪詢時間會盡量增大m值,即增加線程數(shù)。但是增加線程就需要更多的系統(tǒng)資源,需要更高性能的硬件支持。
上述內(nèi)容僅用于輔助理解本發(fā)明的技術(shù)方案,并不代表承認(rèn)上述內(nèi)容是現(xiàn)有技術(shù)。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種網(wǎng)元監(jiān)測方法及裝置,解決現(xiàn)有輪詢技術(shù)輪詢時間長,網(wǎng)管在輪詢過程中線程開銷大的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明提供的一種網(wǎng)元監(jiān)測方法,包括步驟:
當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng);
判斷是否接收到網(wǎng)元返回的響應(yīng);
當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。
優(yōu)選地,所述當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)的步驟之后,還包括將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到超時隊列中。
優(yōu)選地,所述當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常的步驟之后,還包括:
將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列;
判斷所述超時隊列中的網(wǎng)元的標(biāo)識信息個數(shù)是否為零;
若所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則判斷是否已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元;
若已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列。
優(yōu)選地,所述若所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則判斷是否已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元的步驟之后,還包括:
若未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則向所述標(biāo)識信息對應(yīng)的網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求。
優(yōu)選地,所述當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)的步驟包括:
當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求;
在等待預(yù)設(shè)時間后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。
此外,為實現(xiàn)上述目的,本發(fā)明還提供一種網(wǎng)元監(jiān)測裝置,所述網(wǎng)元監(jiān)測裝置包括:
第一發(fā)送模塊,用于當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng) 元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng);
第一判斷模塊,用于判斷是否在接收到網(wǎng)元返回的響應(yīng);
第一判定模塊,用于當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。
優(yōu)選地,所述網(wǎng)元監(jiān)測裝置還包括添加模塊,用于將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到超時隊列中。
優(yōu)選地,所述網(wǎng)元監(jiān)測裝置還包括:
移出模塊,用于將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列;
第二判斷模塊,用于判斷所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)是否為零;
第三判斷模塊,用于若所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則判斷是否已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元;
第二判定模塊,用于若已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列。
優(yōu)選地,所述網(wǎng)元監(jiān)測裝置還包括第二發(fā)送模塊,用于若未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則向所述標(biāo)識信息對應(yīng)的網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求。
優(yōu)選地,所述第一發(fā)送模塊包括:
第一發(fā)送單元,用于當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求;
第二發(fā)送單元,用于在等待預(yù)設(shè)時間后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。
本發(fā)明通過網(wǎng)管向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,當(dāng)網(wǎng)元接收到所述預(yù)設(shè)請求之后返回響應(yīng),所述網(wǎng)管接收到所述響應(yīng)之后,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。即網(wǎng)管在向一個網(wǎng)元發(fā)送請求后,不必等到其返回響應(yīng)就開始對下一個網(wǎng)元發(fā)送請求。減少了網(wǎng)管輪詢的時間和降低了網(wǎng)管在輪詢過程中線程的開銷。
附圖說明
圖1為本發(fā)明網(wǎng)元監(jiān)測方法第一實施例的流程示意圖;
圖2為本發(fā)明實施例中當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng) 元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)的一種流程示意圖;
圖3為本發(fā)明網(wǎng)元監(jiān)測方法第二實施例的流程示意圖;
圖4為本發(fā)明網(wǎng)元監(jiān)測裝置第一實施例的功能模塊示意圖;
圖5為本發(fā)明實施例中第一發(fā)送模塊的一實施例的細(xì)化功能模塊示意圖;
圖6為本發(fā)明網(wǎng)元監(jiān)測裝置第二實施例的功能模塊示意圖。
本發(fā)明目的的實現(xiàn)、功能特點及優(yōu)點將結(jié)合實施例,參照附圖做進(jìn)一步說明。
具體實施方式
應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實施例的主要解決方案是:當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng);判斷是否在接收到網(wǎng)元返回的響應(yīng);當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。通過網(wǎng)管向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,當(dāng)網(wǎng)元接收到所述預(yù)設(shè)請求之后返回響應(yīng),所述網(wǎng)管接收到所述響應(yīng)之后,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。即網(wǎng)管在向一個網(wǎng)元發(fā)送請求后,不必等到其返回響應(yīng)就開始對下一個網(wǎng)元發(fā)送請求。減少了網(wǎng)管輪詢的時間和降低了網(wǎng)管在輪詢過程中線程的開銷。
由于在現(xiàn)有的網(wǎng)元監(jiān)測方法中,網(wǎng)管在對一個網(wǎng)元發(fā)送SNMP GET請求后,要等待所述網(wǎng)元返回響應(yīng)或者所述請求超時后,再向下一個網(wǎng)元發(fā)送SNMP GET請求,導(dǎo)致網(wǎng)管輪詢時間長,線程開銷大。
基于上述問題,本發(fā)明提供一種網(wǎng)元監(jiān)測方法。
參照圖1,圖1為本發(fā)明網(wǎng)元監(jiān)測方法第一實施例的流程示意圖。
在本實施例中,所述網(wǎng)元監(jiān)測方法包括:
步驟S10,當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng);
網(wǎng)管根據(jù)其網(wǎng)元的類型創(chuàng)建不同的輪詢?nèi)蝿?wù),并為每個輪詢?nèi)蝿?wù)設(shè)置一個對應(yīng)的輪詢周期。當(dāng)輪詢周期到時,即所述網(wǎng)管偵測到開始輪詢?nèi)蝿?wù)的指令時,啟動輪詢?nèi)蝿?wù),向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,即所述網(wǎng)管向一個網(wǎng)元發(fā)送預(yù)設(shè)請求后,不用等到所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)就開始向下一個網(wǎng)元發(fā)送預(yù)設(shè)請求。所述網(wǎng)元的類型可以根據(jù)其使用的網(wǎng)絡(luò)來劃分,如將使用2G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,將使用3G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,使用3G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,為每一個表都設(shè)置一種輪詢?nèi)蝿?wù),每一種輪詢?nèi)蝿?wù)對應(yīng)一個輪詢周期,也可以根據(jù)所述網(wǎng)元的功能、用途等進(jìn)行劃分。所述輪詢周期的設(shè)定由所述網(wǎng)管管理的網(wǎng)元規(guī)模和其所在的網(wǎng)絡(luò)狀況而定。如所述輪詢周期可以設(shè)定為一分鐘,即每隔一分鐘就對對應(yīng)的輪詢?nèi)蝿?wù)輪詢一次,每個輪詢?nèi)蝿?wù)都對應(yīng)著有一個定時器,用來監(jiān)測是否到達(dá)輪詢周期的時間。如當(dāng)上一次輪詢?nèi)蝿?wù)過去一分鐘之后,所述網(wǎng)管通過所述定時器啟動輪詢?nèi)蝿?wù)。所述預(yù)設(shè)請求包括但不限于SNMP GET請求。
所述網(wǎng)管執(zhí)行輪詢?nèi)蝿?wù)只要查詢所述網(wǎng)元的一個簡單的變量,如查詢sysName,所述sysName是用于表列、變量以及用于存儲對象名的存儲過程參數(shù)。如所述網(wǎng)管查詢所述網(wǎng)元sysName時發(fā)送的協(xié)議數(shù)據(jù)單元內(nèi)容為類型TYPE:0;請求標(biāo)識信息Request ID:全局唯一ID值;錯誤狀態(tài)error status:0;錯誤指標(biāo)error index:0;變量綁定Variable-Bindings:.1.3.6.1.2.1.1.5.0。
步驟S20,判斷是否接收到網(wǎng)元返回的響應(yīng);
步驟S30,當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。
所述網(wǎng)管判斷是否接收到其網(wǎng)元根據(jù)其發(fā)送的預(yù)設(shè)請求返回的響應(yīng)。當(dāng)所述網(wǎng)管管理的網(wǎng)元正常時,所述網(wǎng)元在接收到所述網(wǎng)管發(fā)送的預(yù)設(shè)請求時,會返回對應(yīng)的響應(yīng)給所述網(wǎng)管。當(dāng)所述網(wǎng)管接收到所述網(wǎng)元返回的響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。如當(dāng)所述網(wǎng)管接收到所述網(wǎng)元根據(jù)所述SNMP GET請求返回的SNMP GET響應(yīng),則所述SNMP響應(yīng)的協(xié)議數(shù)據(jù)單元的內(nèi)容為TYPE:0;Request ID:全局唯一ID值;error status:無錯誤noError;error index:0;Variable-Bindings:.1.3.6.1.2.1.1.5.0:sysName。
所述網(wǎng)元返回的SNMP GET響應(yīng)中的請求標(biāo)識符Request ID與所述網(wǎng)管發(fā)送的SNMP GET請求中的Request ID是一樣的,所述網(wǎng)管就是根據(jù)所述 Request ID來確定所述SNMP GET響應(yīng)是哪個網(wǎng)元發(fā)送過來的。
本實施例通過網(wǎng)管向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,當(dāng)網(wǎng)元接收到所述預(yù)設(shè)請求之后返回響應(yīng),所述網(wǎng)管接收到所述響應(yīng)之后,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。即網(wǎng)管在向一個網(wǎng)元發(fā)送請求后,不必等到其返回響應(yīng)就開始對下一個網(wǎng)元發(fā)送請求。減少了網(wǎng)管輪詢的時間和降低了網(wǎng)管在輪詢過程中線程的開銷。
參照圖2,圖2為本發(fā)明實施例中當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)的一種流程示意圖。所述步驟S10包括:
步驟S11,當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求;
步驟S12,在等待預(yù)設(shè)時間后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。
當(dāng)網(wǎng)管所管理的網(wǎng)元的輪詢周期到來時,即偵測到要開始輪詢?nèi)蝿?wù)的指令時,所述網(wǎng)管根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求,當(dāng)所述預(yù)設(shè)個數(shù)的預(yù)設(shè)請求發(fā)送完畢之后,等待預(yù)設(shè)時間,繼續(xù)向需要輪詢的網(wǎng)元發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。如所述網(wǎng)管根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求,當(dāng)所述預(yù)設(shè)個數(shù)的SNMP GET請求發(fā)送完成之后,等待預(yù)設(shè)時間。所述網(wǎng)管在等待預(yù)設(shè)時間之后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求。所述預(yù)設(shè)個數(shù)和預(yù)設(shè)時間根據(jù)UDP(User Datagram Protocol,用戶數(shù)據(jù)協(xié)議報)協(xié)議棧處理數(shù)據(jù)的能力來設(shè)置,因為SNMP是基于UDP的,當(dāng)所述網(wǎng)管發(fā)送的SNMP GET請求個數(shù)太多時,所述UDP協(xié)議棧會處理不過來,可能會造成一些SNMP GET請求數(shù)據(jù)包的丟失,所以需要等待預(yù)設(shè)時間之后,所述網(wǎng)管才繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求。如所述預(yù)設(shè)個數(shù)為10個,預(yù)設(shè)時間為20ms。即所述網(wǎng)管在偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送10個SNMP GET請求,在發(fā)送完10個SNMP GET請求之后,等待20ms,保證所述10個SNMP GET請求發(fā)送完畢之后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送10個SNMP GET請求。
本實施例通過在網(wǎng)管依次向需要輪詢的網(wǎng)元發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求之后,等待預(yù)設(shè)時間,才繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求,以防在傳輸預(yù)設(shè)請求數(shù)據(jù)包的過程中造成數(shù)據(jù)包的丟失,保證了每次要發(fā)送的請求都發(fā)送出去,提高了網(wǎng)元監(jiān)測方法的準(zhǔn)確度。
參照圖3,圖3為本發(fā)明網(wǎng)元監(jiān)測方法第二實施例的流程示意圖,基于第一實施例提出本發(fā)明網(wǎng)元監(jiān)測方法第二實施例。
在本實施例中,步驟S10之后,還包括:
步驟S40,將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到超時隊列中;
進(jìn)一步地,步驟S30之后,還包括:
步驟S50,將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列;
步驟S60,判斷所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)是否為零;
步驟S70,若所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則判斷是否已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元;
當(dāng)網(wǎng)管向其網(wǎng)元發(fā)送預(yù)設(shè)請求之后,將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到其超時隊列中,并將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列。所述網(wǎng)管定時檢測其超時隊列中網(wǎng)元的標(biāo)識信息個數(shù),判斷所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)是否為零。即所述網(wǎng)管通過其定時器在間隔一定的時間段后,檢測其超時隊列中網(wǎng)元的標(biāo)識信息個數(shù),如每間隔30秒鐘檢測一次其超時隊列里面的網(wǎng)元的標(biāo)識信息個數(shù)。若所述網(wǎng)管的超時隊列中的網(wǎng)元的標(biāo)識信息個數(shù)為零,則說明本次輪詢?nèi)蝿?wù)中沒有出現(xiàn)故障的網(wǎng)元,全部都是正常的網(wǎng)元。若所述網(wǎng)管發(fā)現(xiàn)所述超時隊列中的網(wǎng)元的標(biāo)識信息個數(shù)不為零時,則表示所述超時隊列中的網(wǎng)元在超時時間內(nèi)沒有返回響應(yīng)給所述網(wǎng)管。如當(dāng)所述超時隊列中的網(wǎng)元的標(biāo)識信息在超時時間之后還沒有被移出超時隊列,即所述網(wǎng)管沒有接收到所述網(wǎng)元的返回響應(yīng),則表示所述網(wǎng)元超時。所述超時時間是所述網(wǎng)管在發(fā)送所述預(yù)設(shè)請求到接收到所述網(wǎng)元的響應(yīng)的時間,如果當(dāng)前網(wǎng)絡(luò)較差時,超時時間會長一點,但是通常情況下網(wǎng)絡(luò)傳輸是很快的,一般3秒時間就足夠了。若所述網(wǎng)管的超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則進(jìn)一步判斷是否已發(fā)送過預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊 列中標(biāo)識信息對應(yīng)的網(wǎng)元。
步驟S80,若已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列;
步驟S90,若未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則向所述標(biāo)識信息對應(yīng)的網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求。
若所述網(wǎng)管已經(jīng)發(fā)送了預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列。若所述網(wǎng)管未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元,則向所述網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求,直到達(dá)到預(yù)設(shè)次數(shù)。所述預(yù)設(shè)次數(shù)可以根據(jù)需要設(shè)置,如可以設(shè)置為1次,2次,3次等,優(yōu)選地,設(shè)置為2次。如當(dāng)所述網(wǎng)管發(fā)現(xiàn)超時隊列里存在網(wǎng)元的標(biāo)識信息,則進(jìn)一步判斷是否發(fā)送過兩次SNMP GET請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元。若所述網(wǎng)管已經(jīng)發(fā)送過兩次SNMP GET請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元,則將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列,判定所述網(wǎng)元故障。
本實施例通過當(dāng)網(wǎng)管的超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零時,進(jìn)行多次發(fā)送請求到所述超時隊列中的標(biāo)識信息對應(yīng)的網(wǎng)元,排除所述請求在傳輸過程丟失的情況,提高了網(wǎng)元監(jiān)測方法的準(zhǔn)確度。
本發(fā)明進(jìn)一步提供一種網(wǎng)元監(jiān)測裝置。
參照圖4,圖4為本發(fā)明網(wǎng)元監(jiān)測裝置第一實施例的功能模塊示意圖。
在本實施例中,所述網(wǎng)元監(jiān)測裝置包括:
第一發(fā)送模塊10,用于當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,以供所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng);
網(wǎng)管根據(jù)其網(wǎng)元的類型創(chuàng)建不同的輪詢?nèi)蝿?wù),并為每個輪詢?nèi)蝿?wù)設(shè)置一個對應(yīng)的輪詢周期。當(dāng)輪詢周期到時,即所述網(wǎng)管偵測到開始輪詢?nèi)蝿?wù)的指令時,啟動輪詢?nèi)蝿?wù),向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,即所述網(wǎng)管向一個網(wǎng)元發(fā)送預(yù)設(shè)請求后,不用等到所述網(wǎng)元根據(jù)所述預(yù)設(shè)請求返回響應(yīng)就開始向下一個網(wǎng)元發(fā)送預(yù)設(shè)請求。所述網(wǎng)元的類型可以根據(jù)其使用的網(wǎng)絡(luò)來劃分,如將使用2G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,將使用3G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,使用3G網(wǎng)絡(luò)的網(wǎng)元放入一個表中,為每一個表都設(shè)置一種輪詢?nèi)蝿?wù), 每一種輪詢?nèi)蝿?wù)對應(yīng)一個輪詢周期,也可以根據(jù)所述網(wǎng)元的功能、用途等進(jìn)行劃分。所述輪詢周期的設(shè)定由所述網(wǎng)管管理的網(wǎng)元規(guī)模和其所在的網(wǎng)絡(luò)狀況而定。如所述輪詢周期可以設(shè)定為一分鐘,即每隔一分鐘就對對應(yīng)的輪詢?nèi)蝿?wù)輪詢一次,每個輪詢?nèi)蝿?wù)都對應(yīng)著有一個定時器,用來監(jiān)測是否到達(dá)輪詢周期的時間。如當(dāng)上一次輪詢?nèi)蝿?wù)過去一分鐘之后,所述網(wǎng)管通過所述定時器啟動輪詢?nèi)蝿?wù)。所述預(yù)設(shè)請求包括但不限于SNMP GET請求。
所述網(wǎng)管執(zhí)行輪詢?nèi)蝿?wù)只要查詢所述網(wǎng)元的一個簡單的變量,如查詢sysName,所述sysName是用于表列、變量以及用于存儲對象名的存儲過程參數(shù)。如所述網(wǎng)管查詢所述網(wǎng)元sysName時發(fā)送的協(xié)議數(shù)據(jù)單元內(nèi)容為類型TYPE:0;請求標(biāo)識信息Request ID:全局唯一ID值;錯誤狀態(tài)error status:0;錯誤指標(biāo)error index:0;變量綁定Variable-Bindings:.1.3.6.1.2.1.1.5.0。
第一判斷模塊20,用于判斷是否接收到網(wǎng)元返回的響應(yīng);
第一判定模塊30,用于當(dāng)接收到所述響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。
所述網(wǎng)管判斷是否接收到其網(wǎng)元根據(jù)其發(fā)送的預(yù)設(shè)請求返回的響應(yīng)。當(dāng)所述網(wǎng)管管理的網(wǎng)元正常時,所述網(wǎng)元在接收到所述網(wǎng)管發(fā)送的預(yù)設(shè)請求時,會返回對應(yīng)的響應(yīng)給所述網(wǎng)管。當(dāng)所述網(wǎng)管接收到所述網(wǎng)元返回的響應(yīng)時,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。如當(dāng)所述網(wǎng)管接收到所述網(wǎng)元根據(jù)所述SNMP GET請求返回的SNMP GET響應(yīng),則所述SNMP響應(yīng)的協(xié)議數(shù)據(jù)單元的內(nèi)容為TYPE:0;Request ID:全局唯一ID值;error status:無錯誤noError;error index:0;Variable-Bindings:.1.3.6.1.2.1.1.5.0:sysName。所述網(wǎng)元返回的SNMP GET響應(yīng)中的請求標(biāo)識符Request ID與所述網(wǎng)管發(fā)送的SNMP GET請求中的Request ID是一樣的,所述網(wǎng)管就是根據(jù)所述Request ID來確定所述SNMP GET響應(yīng)是哪個網(wǎng)元發(fā)送過來的。
本實施例通過網(wǎng)管向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)請求,當(dāng)網(wǎng)元接收到所述預(yù)設(shè)請求之后返回響應(yīng),所述網(wǎng)管接收到所述響應(yīng)之后,根據(jù)所述響應(yīng)的標(biāo)識信息判定對應(yīng)的網(wǎng)元正常。即網(wǎng)管在向一個網(wǎng)元發(fā)送請求后,不必等到其返回響應(yīng)就開始對下一個網(wǎng)元發(fā)送請求。減少了網(wǎng)管輪詢的時間和降低了網(wǎng)管在輪詢過程中線程的開銷。
參照圖5,圖5為本發(fā)明實施例中第一發(fā)送模塊的一實施例的細(xì)化功能模塊示意圖。所述第一發(fā)送模塊10包括:
第一發(fā)送單元11,用于當(dāng)偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求;
第二發(fā)送單元12,用于在等待預(yù)設(shè)時間后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。
當(dāng)網(wǎng)管所管理的網(wǎng)元的輪詢周期到來時,即偵測到要開始輪詢?nèi)蝿?wù)的指令時,所述網(wǎng)管根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求,當(dāng)所述預(yù)設(shè)個數(shù)的預(yù)設(shè)請求發(fā)送完畢之后,等待預(yù)設(shè)時間,繼續(xù)向需要輪詢的網(wǎng)元發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求。如所述網(wǎng)管根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求,當(dāng)所述預(yù)設(shè)個數(shù)的SNMP GET請求發(fā)送完成之后,等待預(yù)設(shè)時間。所述網(wǎng)管在等待預(yù)設(shè)時間之后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求。所述預(yù)設(shè)個數(shù)和預(yù)設(shè)時間根據(jù)UDP(User Datagram Protocol,用戶數(shù)據(jù)協(xié)議報)協(xié)議棧處理數(shù)據(jù)的能力來設(shè)置,因為SNMP是基于UDP的,當(dāng)所述網(wǎng)管發(fā)送的SNMP GET請求個數(shù)太多時,所述UDP協(xié)議棧會處理不過來,可能會造成一些SNMP GET請求數(shù)據(jù)包的丟失,所以需要等待預(yù)設(shè)時間之后,所述網(wǎng)管才繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的SNMP GET請求。如所述預(yù)設(shè)個數(shù)為10個,預(yù)設(shè)時間為20ms。即所述網(wǎng)管在偵測到開始輪詢?nèi)蝿?wù)的指令時,根據(jù)所述指令向需要輪詢的網(wǎng)元依次發(fā)送10個SNMP GET請求,在發(fā)送完10個SNMP GET請求之后,等待20ms,保證所述10個SNMP GET請求發(fā)送完畢之后,繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送10個SNMP GET請求。
本實施例通過在網(wǎng)管依次向需要輪詢的網(wǎng)元發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求之后,等待預(yù)設(shè)時間,才繼續(xù)向需要輪詢的網(wǎng)元依次發(fā)送預(yù)設(shè)個數(shù)的預(yù)設(shè)請求,以防在傳輸預(yù)設(shè)請求數(shù)據(jù)包的過程中造成數(shù)據(jù)包的丟失,保證了每次要發(fā)送的請求都發(fā)送出去,提高了網(wǎng)元監(jiān)測方法的準(zhǔn)確度。
參照圖6,圖6為本發(fā)明網(wǎng)元監(jiān)測裝置第二實施例的功能模塊示意圖,基于第一實施例提出本發(fā)明網(wǎng)元監(jiān)測裝置第二實施例。
在本實施例中,所述網(wǎng)元監(jiān)測裝置還包括:
添加模塊40,用于將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到超時隊列中;
移出模塊50,用于將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列;
第二判斷模塊60,用于判斷所述超時隊列里網(wǎng)元的標(biāo)識信息個數(shù)是否為零;
第三判斷模塊70,用于若所述超時隊列里網(wǎng)元的標(biāo)識信息個數(shù)不為零,則判斷是否已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元;
當(dāng)網(wǎng)管向其網(wǎng)元發(fā)送預(yù)設(shè)請求之后,將被發(fā)送過所述預(yù)設(shè)請求的網(wǎng)元的標(biāo)識信息添加到其超時隊列中,并將正常網(wǎng)元對應(yīng)的標(biāo)識信息移出所述超時隊列。所述網(wǎng)管定時檢測其超時隊列中網(wǎng)元的標(biāo)識信息個數(shù),判斷所述超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)是否為零。即所述網(wǎng)管通過其定時器在間隔一定的時間段后,檢測其超時隊列中網(wǎng)元的標(biāo)識信息個數(shù),如每間隔30秒鐘檢測一次其超時隊列里面的網(wǎng)元的標(biāo)識信息個數(shù)。若所述網(wǎng)管的超時隊列中的網(wǎng)元的標(biāo)識信息個數(shù)為零,則說明本次輪詢?nèi)蝿?wù)中沒有出現(xiàn)故障的網(wǎng)元,全部都是正常的網(wǎng)元。若所述網(wǎng)管發(fā)現(xiàn)所述超時隊列中的網(wǎng)元的標(biāo)識信息個數(shù)不為零時,則表示所述超時隊列中的網(wǎng)元在超時時間內(nèi)沒有返回響應(yīng)給所述網(wǎng)管。如當(dāng)所述超時隊列中的網(wǎng)元的標(biāo)識信息在超時時間之后還沒有被移出超時隊列,即所述網(wǎng)管沒有接收到所述網(wǎng)元的返回響應(yīng),則表示所述網(wǎng)元超時。所述超時時間是所述網(wǎng)管在發(fā)送所述預(yù)設(shè)請求到接收到所述網(wǎng)元的響應(yīng)的時間,如果當(dāng)前網(wǎng)絡(luò)較差時,超時時間會長一點,但是通常情況下網(wǎng)絡(luò)傳輸是很快的,一般3秒時間就足夠了。若所述網(wǎng)管的超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零,則進(jìn)一步判斷是否已發(fā)送過預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元。
第二判定模塊80,用于若已發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列;
第二發(fā)送模塊90,用于若未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述標(biāo)識信息對應(yīng)的網(wǎng)元,則向所述標(biāo)識信息對應(yīng)的網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求。
若所述網(wǎng)管已經(jīng)發(fā)送了預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元,則判定所述網(wǎng)元故障,將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列。若所述網(wǎng)管未發(fā)送預(yù)設(shè)次數(shù)的預(yù)設(shè)請求給所述超時隊列中標(biāo)識信息對應(yīng) 的網(wǎng)元,則向所述網(wǎng)元繼續(xù)發(fā)送所述預(yù)設(shè)請求,直到達(dá)到預(yù)設(shè)次數(shù)。所述預(yù)設(shè)次數(shù)可以根據(jù)需要設(shè)置,如可以設(shè)置為1次,2次,3次等,優(yōu)選地,設(shè)置為2次。如當(dāng)所述網(wǎng)管發(fā)現(xiàn)超時隊列里存在網(wǎng)元的標(biāo)識信息,則進(jìn)一步判斷是否發(fā)送過兩次SNMP GET請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元。若所述網(wǎng)管已經(jīng)發(fā)送過兩次SNMP GET請求給所述超時隊列中標(biāo)識信息對應(yīng)的網(wǎng)元,則將所述網(wǎng)元的標(biāo)識信息移出所述超時隊列,判定所述網(wǎng)元故障。
本實施例通過當(dāng)網(wǎng)管的超時隊列中網(wǎng)元的標(biāo)識信息個數(shù)不為零時,進(jìn)行多次發(fā)送請求到所述超時隊列中的標(biāo)識信息對應(yīng)的網(wǎng)元,排除所述請求在傳輸過程丟失的情況,提高了網(wǎng)元監(jiān)測方法的準(zhǔn)確度。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到上述實施例方法可借助軟件加必需的通用硬件平臺的方式來實現(xiàn),當(dāng)然也可以通過硬件,但很多情況下前者是更佳的實施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)(如ROM/RAM、磁碟、光盤)中,包括若干指令用以使得一臺終端設(shè)備(可以是手機(jī),計算機(jī),服務(wù)器,空調(diào)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述的方法。
以上僅為本發(fā)明的優(yōu)選實施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。