專利名稱:一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估方法
一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估方法
所屬領(lǐng)域
本發(fā)明涉及一種網(wǎng)絡(luò)性能自動評估方法的實現(xiàn),屬于網(wǎng)絡(luò)優(yōu)化 領(lǐng)域,具體的說,涉及網(wǎng)絡(luò)性能優(yōu)化中,基于java技術(shù)動態(tài)處理性 能參數(shù),實現(xiàn)網(wǎng)絡(luò)性能自動評估方案。
背景技術(shù):
網(wǎng)絡(luò)技術(shù)的進步催生了多種形式的網(wǎng)絡(luò),比如SDH網(wǎng)絡(luò)、PON網(wǎng) 絡(luò)、MPLS網(wǎng)絡(luò)等等,網(wǎng)絡(luò)性能的優(yōu)劣直接對網(wǎng)絡(luò)的可靠性、有效性、 商用化產(chǎn)生極大影響,對網(wǎng)絡(luò)性能的優(yōu)化一直是網(wǎng)絡(luò)開發(fā)的重點,實 時可靠的網(wǎng)絡(luò)性能監(jiān)測評估對于網(wǎng)絡(luò)優(yōu)化有著重要意義,在保證網(wǎng)絡(luò) 正常工作的同時,尋求網(wǎng)絡(luò)運行的最佳狀態(tài)。
一般的網(wǎng)絡(luò)性能評估通過手動操作,對網(wǎng)絡(luò)的某個參數(shù)進行監(jiān)測, 判斷網(wǎng)絡(luò)的性能狀況,在實現(xiàn)評估的同時增加了管理人員的負擔,無 法達到實時監(jiān)控?;趈ava技術(shù),使用java定時調(diào)用功能,動態(tài)監(jiān) 測網(wǎng)絡(luò)性能,處理性能數(shù)據(jù)并判斷性能狀況,實現(xiàn)網(wǎng)絡(luò)性能的自動評 估,實時管理網(wǎng)絡(luò)的性能。Java的多平臺特性賦予了性能自動評估 基于web的實現(xiàn)方式,擴展基于JSP的網(wǎng)絡(luò)管理系統(tǒng)的性能管理功能。
以數(shù)據(jù)庫為中心,應(yīng)用數(shù)據(jù)查詢、存儲、更新技術(shù),對性能采集 數(shù)據(jù)進行備份管理,為性能評估提供實時數(shù)據(jù),保證評估的可靠性和 有效性。同時,基于數(shù)據(jù)庫強大的自動處理功能,可以實現(xiàn)性能數(shù)據(jù)的差值評估管理。
采用簡單而實用的SNMP簡單網(wǎng)絡(luò)管理協(xié)議,基于TCP/IP采集性 能參數(shù),降低網(wǎng)絡(luò)的資源、技術(shù)、成本等方面的開銷,隨著Internet 的發(fā)展,基于S應(yīng)P數(shù)據(jù)采集方式將有更大的擴展空間。
發(fā)明內(nèi)容
本發(fā)明提供一種網(wǎng)絡(luò)性能自動評估方法,采用java定時技術(shù)基于 數(shù)據(jù)庫實時采集網(wǎng)絡(luò)性能數(shù)據(jù),對數(shù)據(jù)進行處理,報告性能優(yōu)劣狀況;
應(yīng)用服務(wù)器后臺技術(shù)初始化啟動自動功能模塊,定時觸發(fā)數(shù)據(jù)采集和 數(shù)據(jù)處理線程;采用Ajax (Asynchronous javascript and xml)技 術(shù),實現(xiàn)性能評估結(jié)果無刷新自動更新效果。在保證可靠性和實時性 的前提下,進一步降低服務(wù)器的工作負荷,提高網(wǎng)絡(luò)的運營管理維護 (0AM)能力。
本技術(shù)主要包括兩大部分函數(shù)自動調(diào)用、性能數(shù)據(jù)處理,分別 完成數(shù)據(jù)處理定時觸發(fā)和數(shù)據(jù)處理過程(如圖1)。函數(shù)自動調(diào)用基 于java和應(yīng)用服務(wù)器后臺技術(shù)實現(xiàn),性能數(shù)據(jù)處理基于java、 S麗P 和數(shù)據(jù)庫實現(xiàn)。對于網(wǎng)絡(luò)管理系統(tǒng)(NMS)的性能管理,基于java可 選擇JSP (Java Server Page)網(wǎng)頁編牙呈^支術(shù),結(jié)合Javascript腳 本,承載Ajax技術(shù),后臺異步處理性能評估結(jié)果,實現(xiàn)GUI中性能 報告的無刷新自動更新。
利用對參考了附圖的優(yōu)選實施例的詳細敘述,將會使本發(fā)明的上 述目的及優(yōu)點更加清楚明了,其中圖1所示為網(wǎng)絡(luò)性能自動評估的系統(tǒng)框圖; 圖2所示為網(wǎng)絡(luò)性能自動評估的功能模塊; 圖3所示為網(wǎng)絡(luò)性能自動評估過程。
具體實施方案
本發(fā)明根據(jù)Java和數(shù)據(jù)庫技術(shù)的特點,提出了定時自動處理技 術(shù),對網(wǎng)絡(luò)性能進行實時評估監(jiān)測。
參見圖1本發(fā)明系統(tǒng)總體設(shè)計框圖。圖中,應(yīng)用服務(wù)器可以選擇 Apache服務(wù)器或是Tomcat服務(wù)器,修改啟動參數(shù),初始化時進入java 函數(shù)自動調(diào)用程序,啟動計時器,每隔特定時間發(fā)送使能信號觸發(fā)函 數(shù)調(diào)用程序,調(diào)用數(shù)據(jù)處理函數(shù),釆集性能數(shù)據(jù)和獲取數(shù)據(jù)。
采集性能數(shù)據(jù)使用S麗P協(xié)議,由數(shù)據(jù)采集函數(shù)向管理站Manager 發(fā)送性能采集命令,管理站轉(zhuǎn)換命令為代理站Agent識別的格式后轉(zhuǎn) 發(fā)到代理站,參照管理信息庫(MIB)代理站執(zhí)行性能采集的相應(yīng)命 令,對底層設(shè)備進行輪詢,返回管理站設(shè)備性能數(shù)據(jù),管理站再上報 至數(shù)據(jù)釆集函數(shù)通過JDBC (Java Database Connection)存儲性能 數(shù)據(jù)至管理數(shù)據(jù)庫。獲取數(shù)據(jù)通過JDBC查詢數(shù)據(jù)庫中的性能數(shù)據(jù), 判斷性能類型,轉(zhuǎn)至相應(yīng)的數(shù)據(jù)計算/比對程序,根據(jù)既定的公式和 規(guī)則處理數(shù)據(jù),返回性能統(tǒng)計數(shù)據(jù),進入條件判斷程序,對應(yīng)不同的 情況性能結(jié)論函數(shù)給出相應(yīng)的性能狀況判斷,通過Ajax技術(shù)異步獲 取性能結(jié)論函數(shù)輸出的性能狀況實時無刷新顯示在GUI中,同時判斷 性能狀況的優(yōu)劣,當?shù)陀谙鄳?yīng)的門限,跳出警告提示。在整個過程中,java技術(shù)承載了關(guān)鍵的后臺控制調(diào)度,保障系統(tǒng) 運行的穩(wěn)定可行性,數(shù)據(jù)庫承載管理數(shù)據(jù)存儲備份查詢,提高系統(tǒng)運 行的安全性和可靠性。整個系統(tǒng)通過JDBC技術(shù)橋接實現(xiàn)網(wǎng)絡(luò)性能的 自動評估監(jiān)測。
基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估系統(tǒng)包括初始化、函數(shù)自 動調(diào)用、數(shù)據(jù)采集、數(shù)據(jù)處理四大功能模塊,如圖2,其中數(shù)據(jù)采集 模塊與管理站Manager相接,發(fā)送性能數(shù)據(jù)采集命令及接收底層返回 的性能數(shù)據(jù);數(shù)據(jù)處理模塊與管理員交互,在GUI中實時報告所有處 理結(jié)果。應(yīng)用服務(wù)器在初始化時啟動計時器,每隔一定時間觸發(fā)函數(shù) 調(diào)用,實現(xiàn)函數(shù)自動調(diào)用功能。函數(shù)調(diào)用一方面啟動數(shù)據(jù)采集線程, 輪詢底層硬件的性能參數(shù),采集性能信息存儲到管理數(shù)據(jù)庫中;另一 方面啟動數(shù)據(jù)處理線程,詢查管理數(shù)據(jù)庫中的性能數(shù)據(jù),返回數(shù)據(jù)計 算/比對模塊處理,完成處理后結(jié)果送至性能結(jié)論模塊判斷后報告GUI 性能狀況。
基于java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估過程如圖3,主要包括三 部分,首先是初始化,其次是函數(shù)自動調(diào)用,最后是數(shù)據(jù)采集及處理。 數(shù)據(jù)采集及處理分為兩個獨立同時進行的線程一一數(shù)據(jù)采集和數(shù)據(jù) 處理。
初始化過程由應(yīng)用服務(wù)器發(fā)起,在實際開發(fā)中選擇了 Tomcat服務(wù) 器,在啟動Tomcat服務(wù)器后,服務(wù)器進入web. xml配置文件對服務(wù) 器進行初始化設(shè)置,在web. xml中使用〈listener〉標簽載入函數(shù)自動 調(diào)用類〈listener-class〉,服務(wù)器隨即啟動函數(shù)自動調(diào)用線程。函數(shù)自動調(diào)用線程包括計時器和函數(shù)調(diào)用兩部分,載入
javax. servlet. ServletContextEvent類和javax. servlet. Servlet ContextListener類,初始^:監(jiān)聽器, <吏用java. util包的Timer類 設(shè)計計時器,運4亍"Timer timer = new Timer (true);"產(chǎn)生計時器 timer后,調(diào)用Timer類的任務(wù)調(diào)度函數(shù)schedule (),設(shè)定定時器的 使能間隔時間t,每隔t時間執(zhí)行schedule ()中的函數(shù)調(diào)用功能,同 時調(diào)用數(shù)據(jù)采集和數(shù)據(jù)處理線程。在關(guān)閉監(jiān)聽器時調(diào)用Timer類 cancel (),銷毀計時器,退出自動評估系統(tǒng)。
數(shù)據(jù)釆集使用Socket網(wǎng)絡(luò)通信類DatagramSocket ()打開與管理 站的通信端口 ,通過DatagramPacket ()綁定管理端的IPi也址和端口 , 按照性能數(shù)據(jù)獲取格式使用DatagramSocket的類send()將打上包頭 的性能參數(shù)查詢命令發(fā)送到管理端,同時關(guān)閉發(fā)送端口,執(zhí)行 DatagramSocket ()打開另 一個跟管理端協(xié)商好的端口監(jiān)聽管理端返 回的性能數(shù)據(jù)。管理端的接收線程監(jiān)聽到命令后存儲至緩沖區(qū),拆包 后將命令按照代理端識別的打包格式將數(shù)據(jù)打包后啟動sendto()函
數(shù)通過IP地址和端口發(fā)送至代理端。代理端使用Net-Snmp網(wǎng)絡(luò)管理 構(gòu)架,通過監(jiān)聽函數(shù)獲取性能查詢命令后,轉(zhuǎn)至MIB處理進程,對應(yīng) 管理信息庫中相應(yīng)的性能參數(shù),轉(zhuǎn)變成底層硬件能響應(yīng)的MIB樹命 令,詢問相應(yīng)的設(shè)備,獲取響應(yīng)結(jié)果返回至緩沖區(qū),打開發(fā)送端口返 回管理端性能數(shù)據(jù)。在接收到數(shù)據(jù)后管理端轉(zhuǎn)換格式后發(fā)送至數(shù)據(jù)采 集端的監(jiān)聽端口,使用DatagramSocket的類receive ()接收數(shù)據(jù)包 后確認所收到的性能數(shù)據(jù)格式正確、數(shù)據(jù)有效,采集端即執(zhí)行close ()類關(guān)閉監(jiān)聽端口,完成底層硬件性能數(shù)據(jù)的獲取,同時載入Java, sql 包,執(zhí)行Class. forName 0例化JDBC, DriverManager. getCormection (url, user, pwd)連接數(shù)據(jù)庫,createStatement ()產(chǎn)生聲明后使用 executeUpadate()函數(shù)執(zhí)行數(shù)據(jù)庫update語句將接收到的性能數(shù)據(jù) 存儲至管理數(shù)據(jù)庫MDB中。
數(shù)據(jù)處理線程通過JDBC使用executeQuery()函數(shù)執(zhí)行數(shù)據(jù)庫查 詢語句select查詢性能相關(guān)數(shù)據(jù),存儲于結(jié)果集ResultSet中,針 對不同屬性的參數(shù)跳轉(zhuǎn)至相應(yīng)的數(shù)據(jù)計算/比對函數(shù),通過結(jié)果集的 類方法getString ()讀取結(jié)果集中的字符型數(shù)據(jù),通過getlnt()讀取 整型數(shù)據(jù),通過Integer. valueOf()將字符型數(shù)字轉(zhuǎn)變?yōu)檎?。對?shù) 據(jù)格式進行標準化后輸入計算/比對函數(shù)處理,對應(yīng)不同的網(wǎng)絡(luò)性能 有不同的公式和規(guī)則,比如流量統(tǒng)計需要計算數(shù)據(jù)的速率;阻塞率或 是丟包率需要計算數(shù)據(jù)的比率;網(wǎng)絡(luò)的利用率則需要整理各個設(shè)備某 個時間總流量,同時需要判斷線路的通斷,比對設(shè)備參數(shù)設(shè)定,判斷 參數(shù)對網(wǎng)絡(luò)利用率計算的影響等等。根據(jù)數(shù)據(jù)計算/比對結(jié)果,性能 結(jié)論函數(shù)通過一系列switch()條件判斷,賦予各性能指標直觀的判 斷結(jié)果,量化性能指標與理想的差距,給出最終評估報告。
評估報告的無刷新更新通過在GUI中設(shè)置div層,設(shè)定id為 "evaluation",在web頁編程中使用javascript腳本載入js后臺 文件,在〈body〉標簽中定義onLoad事件,執(zhí)行j s后臺函數(shù)di sp 1 ay ()。 在后臺中使用setlnterval ()設(shè)置display ()函數(shù)執(zhí)行的間隔時間, 不間斷執(zhí)行函數(shù)功能。display ()函數(shù)只完成一個功能,使用Ajax技術(shù)異步獲取最終評估報告,顯示于id- "evaluation"的div層,當 評估報告出現(xiàn)變化時,div層即時刷新,在GUI端在沒有刷新界面的 情況下實現(xiàn)評估報告實時更新。在display ()函數(shù)中設(shè)置判斷條件, 當網(wǎng)絡(luò)性能惡化到一定程度時,執(zhí)行alert ()警告提示框,提醒網(wǎng)絡(luò) 管理員做出調(diào)整。
以上所述的,僅為本發(fā)明的可行實施例,并非因此局限本發(fā)明的 專利范圍,故凡應(yīng)用本發(fā)明說明書或附圖內(nèi)容所為的等效變化,均同 理皆包含于本發(fā)明的范圍內(nèi),以保障發(fā)明者的權(quán)益,于此聲明。
權(quán)利要求
1、一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估方法,其特征在于基于具有跨平臺特性的java技術(shù),自動采集硬件性能參數(shù),以數(shù)據(jù)庫為中心對最新采集數(shù)據(jù)進行操作和評估,并報告性能狀況。Java自動調(diào)用技術(shù)在網(wǎng)管應(yīng)用服務(wù)器初始化時使用服務(wù)器后臺技術(shù)啟動計時函數(shù),每隔一定時間返回函數(shù)調(diào)用函數(shù)一個使能狀態(tài),觸發(fā)數(shù)據(jù)采集和數(shù)據(jù)查詢功能。數(shù)據(jù)采集使用SNMP網(wǎng)絡(luò)管理協(xié)議發(fā)送數(shù)據(jù)采集命令到代理端Agent,在參照管理信息庫(MIB)對底層硬件輪詢后,代理端返回收集到的設(shè)備性能信息,隨后數(shù)據(jù)采集模塊將信息存儲至管理數(shù)據(jù)庫(MDB)相應(yīng)的性能表中。性能評估通過數(shù)據(jù)查詢模塊獲取所需評估的數(shù)據(jù)庫中對應(yīng)的性能數(shù)據(jù),返回至數(shù)據(jù)計算/比對模塊按照預(yù)設(shè)的公式和規(guī)則對數(shù)據(jù)進行處理,產(chǎn)生的結(jié)果送入性能結(jié)論模塊通過判斷條件得出最終的性能評估結(jié)果,報告至圖形用戶接口(GUI)。
2、 根據(jù)權(quán)利要求1所述的一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自 動評估方法,其特征在于基于Java技術(shù)開發(fā),采用Java的util 包和servlet構(gòu)架實現(xiàn)自動定時調(diào)用功能。
3、 根據(jù)權(quán)利要求1所述的一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自 動評估方法,其特征在于基于應(yīng)用服務(wù)器后臺技術(shù)配置啟動參數(shù), 在服務(wù)器初始化時進入Java函數(shù)體,啟動計時功能。
4、 根據(jù)權(quán)利要求1所述的一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估方法,其特征在于性能采集模塊定時通過SNMP協(xié)議與硬件 交互,巡查硬件性能狀態(tài),實時更新數(shù)據(jù)庫中的性能數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1所述的一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自 動評估方法,其特征在于性能數(shù)據(jù)的獲取均通過數(shù)據(jù)庫,不直接詢 問硬件,定時查詢性能數(shù)據(jù),保證實時性。
6、 根據(jù)權(quán)利要求1所述的一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自 動評估方法,其特征在于從數(shù)據(jù)庫中得到的性能數(shù)據(jù)直接送至數(shù)據(jù) 計算/比對模塊處理,按照性能計算和判斷規(guī)則進行處理,得出性能 優(yōu)劣結(jié)論。
7、 根據(jù)權(quán)利要求1所述的一種基于java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自 動評估方法,其特征在于定時性能自動評估結(jié)論需實時顯示在GUI 中,使用Ajax技術(shù)實現(xiàn)無刷新實時更新性能狀態(tài),同時在性能出現(xiàn) 惡化時提醒管理員。
全文摘要
本發(fā)明公開了一種基于Java和數(shù)據(jù)庫的網(wǎng)絡(luò)性能自動評估方法,在網(wǎng)絡(luò)管理中對網(wǎng)絡(luò)性能進行自動評估,定時報告網(wǎng)絡(luò)實際性能與理想的差值狀態(tài)。該方法包括基于java的函數(shù)自動調(diào)用和網(wǎng)絡(luò)性能數(shù)據(jù)處理兩部分,函數(shù)自動調(diào)用運行于后臺,生存周期等同于應(yīng)用服務(wù)器,使用java計時函數(shù)每隔一定時間觸發(fā)調(diào)用功能,執(zhí)行性能數(shù)據(jù)的處理。網(wǎng)絡(luò)性能數(shù)據(jù)處理一方面需要收集底層硬件的性能數(shù)據(jù),并存儲到管理數(shù)據(jù)庫(MDB)中;另一方面查詢最新收集到的網(wǎng)絡(luò)性能數(shù)據(jù),對數(shù)據(jù)進行計算、比對,給出結(jié)果對應(yīng)的評估結(jié)果,并顯示于圖形管理接口(GUI)。本發(fā)明解決了網(wǎng)絡(luò)性能評估的實時性、自發(fā)性、可靠性和易擴展性等問題,有效調(diào)整網(wǎng)絡(luò)的性能,優(yōu)化至最佳狀態(tài),提高網(wǎng)絡(luò)的運營管理維護(OAM)能力。
文檔編號H04L12/26GK101420344SQ200810239599
公開日2009年4月29日 申請日期2008年12月12日 優(yōu)先權(quán)日2008年12月12日
發(fā)明者昱 堯, 張志輝, 張永軍, 蔣定孚, 顧畹儀 申請人:北京郵電大學