專利名稱:一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺及其實(shí)現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于通信仿真領(lǐng)域。涉及實(shí)時視景顯示技術(shù),特別涉及一種用于通信網(wǎng)絡(luò)仿真工具仿真情況和仿真結(jié)果顯示和分析的實(shí)時視景顯示平臺及其實(shí)現(xiàn)方法。
背景技術(shù):
由于通信網(wǎng)絡(luò)日趨復(fù)雜、規(guī)模日趨龐大,應(yīng)用于網(wǎng)絡(luò)規(guī)劃和設(shè)計的通信網(wǎng)絡(luò)仿真技術(shù)出現(xiàn)了。通信網(wǎng)絡(luò)仿真技術(shù)是一種通過建立網(wǎng)絡(luò)設(shè)備和網(wǎng)絡(luò)鏈路的統(tǒng)計模型,并模擬網(wǎng)絡(luò)流量的傳輸,從而獲取網(wǎng)絡(luò)設(shè)計或優(yōu)化所需要的網(wǎng)絡(luò)性能數(shù)據(jù)的仿真技術(shù)。目前,通信網(wǎng)絡(luò)仿真工具有商業(yè)軟件、免費(fèi)軟件和一些使用離散事件仿真原理開發(fā)的專用通信網(wǎng)絡(luò)仿真工具。
但是在這些通信網(wǎng)絡(luò)仿真工具功能強(qiáng)大的同時,由于通信網(wǎng)絡(luò)仿真工具采用的是事后查看仿真結(jié)果,即仿真全部完成后再查看仿真結(jié)果,且查看仿真結(jié)果的方式是采用表格、曲線等較為抽象的方式,給使用者在仿真情況查看和仿真結(jié)果分析上帶來一定的不便。
在使用通信網(wǎng)絡(luò)仿真工具時,想要顯示仿真時的動畫,如果使用的是商業(yè)軟件或免費(fèi)軟件就需要軟件本身具有該功能,否則無法實(shí)現(xiàn);如果是自己開發(fā)的通信網(wǎng)絡(luò)仿真軟件則需要自己再額外開發(fā)一個動畫組件,用來顯示本仿真軟件的動畫,這樣做將耗費(fèi)大量的時間、人力和物力。目前并沒有一個針對于通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示系統(tǒng)。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一個獨(dú)立的實(shí)時視景顯示平臺,屬于一個通用的平臺,該視景顯示平臺專門為通信網(wǎng)絡(luò)仿真工具設(shè)計,用來顯示通信網(wǎng)絡(luò)仿真工具的實(shí)時仿真場景和仿真情況。使通信網(wǎng)絡(luò)仿真軟件的開發(fā)或操作人員能專心研究通信仿真的算法,而不必關(guān)心實(shí)時視景的顯示,只要使用本發(fā)明即可實(shí)現(xiàn)仿真過程中的實(shí)時視景的顯示。
本發(fā)明的另一個目的是提出一種使用虛擬現(xiàn)實(shí)技術(shù)實(shí)時查看仿真情況和仿真結(jié)果的方法,該方法通過快速建立與通信網(wǎng)絡(luò)仿真工具仿真的拓?fù)湎嘁恢碌木W(wǎng)絡(luò)拓?fù)浜凸?jié)點(diǎn)參數(shù)設(shè)置來重現(xiàn)仿真場景,使用實(shí)時通信技術(shù)來保證仿真數(shù)據(jù)的實(shí)時傳遞,使用仿真時間管理策略來控制仿真的正確進(jìn)行,從而實(shí)現(xiàn)了在通信網(wǎng)絡(luò)仿真工具進(jìn)行仿真的過程中通過實(shí)時視景顯示平臺實(shí)時查看仿真情況和仿真結(jié)果。
本發(fā)明基于實(shí)時通信技術(shù),支持各種通信網(wǎng)絡(luò)仿真工具,是用于在通信網(wǎng)絡(luò)仿真工具仿真時,實(shí)現(xiàn)仿真情況和仿真結(jié)果實(shí)時視景顯示的平臺,該平臺包括網(wǎng)絡(luò)場景生成模塊、網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊、網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊、實(shí)時通信模塊、時間管理模塊、視景顯示模塊、存儲模塊、仿真情況重放模塊。各個模塊具體描述如下網(wǎng)絡(luò)場景生成模塊,用于導(dǎo)入可擴(kuò)展標(biāo)識語言(The Extensible MarkupLanguage,簡稱XML)類型的拓?fù)湮募砩尚枰抡娴木W(wǎng)絡(luò)場景,該XML文件中應(yīng)該包括網(wǎng)絡(luò)拓?fù)涞倪B接方式,各個節(jié)點(diǎn)的參數(shù)設(shè)置等。本平臺制定了XML的拓?fù)湮募?biāo)準(zhǔn),網(wǎng)絡(luò)仿真工具輸出的網(wǎng)絡(luò)拓?fù)渲灰獫M足該標(biāo)準(zhǔn)即可以被解析。
網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊,包括以太網(wǎng)模型庫、廣域網(wǎng)模型庫和無線局域網(wǎng)模型庫等模型庫,各個模型庫中帶有典型節(jié)點(diǎn)的模型,建模時直接根據(jù)解析XML文件來判斷使用哪種模型。
網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊,用于建立網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中沒有的節(jié)點(diǎn),方便用戶自定義所需的節(jié)點(diǎn)。
實(shí)時通信模塊,完成與網(wǎng)絡(luò)仿真工具的實(shí)時通信。通信模塊有三種通信方式,一種是進(jìn)程間通信模式,一種是基于傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議(TransportControl Protocol/User Datagram Protocol,簡稱TCP/UDP)的通信方式,另一種是基于高層體系結(jié)構(gòu)(High Level Architecture,簡稱HLA)的通信方式。
時間管理模塊,完成仿真時間的推進(jìn)和仿真的控制,用來控制通信網(wǎng)絡(luò)仿真工具的仿真進(jìn)度,使其與實(shí)時視景顯示平臺的時間推進(jìn)同步。
視景顯示模塊,采用二維或者三維的方式顯示仿真情況,繪制仿真過程中的實(shí)時視景。
存儲模塊,把當(dāng)次的仿真結(jié)果存儲下來,以待以后重放。
仿真情況重放模塊,重放已經(jīng)保存下來的仿真視景。
本發(fā)明的實(shí)時視景顯示平臺能夠?qū)崿F(xiàn)通信網(wǎng)絡(luò)仿真工具仿真情況和仿真結(jié)果的實(shí)時視景顯示,其實(shí)現(xiàn)的方法如下步驟1實(shí)時視景顯示平臺初始化,建立網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),分配視景顯示緩沖。
步驟2實(shí)時視景顯示平臺通過實(shí)時通信模塊與通信網(wǎng)絡(luò)仿真工具建立連接,進(jìn)行時間同步操作。
步驟3通信網(wǎng)絡(luò)仿真工具把建立好的網(wǎng)絡(luò)場景以XML的格式通過實(shí)時通信模塊傳送給網(wǎng)絡(luò)場景生成模塊。
步驟4網(wǎng)絡(luò)場景生成模塊開始解析XML格式的場景文件,把解析結(jié)果存放在網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中,并在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中查找XML文件中描述的網(wǎng)絡(luò)節(jié)點(diǎn),把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中;如果在模型庫中沒有找到相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)模型,則要使用網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊對該網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行建模,建模完成之后,把該節(jié)點(diǎn)模型添加到網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中,然后再把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中。
步驟5網(wǎng)絡(luò)場景生成模塊解析完XML的場景文件后,調(diào)用視景顯示模塊,視景顯示模塊讀取網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),在實(shí)時視景顯示平臺的用戶界面上生成仿真網(wǎng)絡(luò)場景。
步驟6時間管理模塊控制仿真視景的推進(jìn),控制仿真的時間同步,同時實(shí)時通信模塊開始接收通信網(wǎng)絡(luò)仿真工具發(fā)送來的實(shí)時仿真數(shù)據(jù)。
步驟7視景顯示模塊讀取實(shí)時仿真數(shù)據(jù),進(jìn)行數(shù)據(jù)處理,對處理后的仿真情況進(jìn)行實(shí)時視景顯示。
步驟8存儲模塊把實(shí)時仿真數(shù)據(jù)以時間為索引保存下來。
步驟9實(shí)時仿真數(shù)據(jù)不斷的被實(shí)時通信模塊接收,視景顯示模塊實(shí)時顯示根據(jù)實(shí)時仿真數(shù)據(jù)處理后得到的實(shí)時仿真情況和仿真結(jié)果,直至仿真結(jié)束。
步驟10仿真結(jié)束后,斷開與通信仿真網(wǎng)絡(luò)的連接,銷毀視景顯示緩沖,銷毀網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)。
本發(fā)明的有益效果1.本發(fā)明以實(shí)時視景的方式,非常直觀的顯示通信網(wǎng)絡(luò)仿真的實(shí)時情況。
2.實(shí)時視景顯示平臺是一個針對于通信網(wǎng)絡(luò)仿真工具的通用平臺。使用該平臺,用戶無須掌握實(shí)時通信技術(shù)和視景的顯示技術(shù),即可完成在通信網(wǎng)絡(luò)仿真中仿真情況和仿真結(jié)果的實(shí)時視景顯示。
圖1是本發(fā)明的整體結(jié)構(gòu)框圖;圖2是本發(fā)明的網(wǎng)絡(luò)場景文件的XML格式圖3是本發(fā)明的整體流程圖;圖4是本發(fā)明的網(wǎng)絡(luò)場景生成模塊實(shí)現(xiàn)流程圖;
圖5是本發(fā)明的節(jié)點(diǎn)模型庫樹狀結(jié)構(gòu)圖;圖6是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式實(shí)現(xiàn)圖;圖7是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)建模工具實(shí)現(xiàn)流程圖;圖8是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具實(shí)現(xiàn)流程圖;圖9是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具實(shí)現(xiàn)流程圖;圖10是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式的實(shí)例圖11是本發(fā)明的網(wǎng)絡(luò)節(jié)點(diǎn)配置工具實(shí)現(xiàn)流程圖;圖12是本發(fā)明的實(shí)時通信模塊實(shí)現(xiàn)流程圖;圖13是本發(fā)明的時間管理模塊實(shí)現(xiàn)流程圖;圖14是本發(fā)明的視景顯示模塊實(shí)現(xiàn)流程圖;圖15是本發(fā)明的存儲模塊實(shí)現(xiàn)流程圖;圖16是本發(fā)明的仿真情況重放模塊實(shí)現(xiàn)流程圖。
具體實(shí)施例方式
本發(fā)明具體應(yīng)用方式如下,將本發(fā)明的各模塊作為一個整體安裝在一臺計算機(jī)上,通信網(wǎng)絡(luò)仿真工具安裝在另外一臺計算機(jī)上,兩臺計算機(jī)通過以太網(wǎng)相連接。另一種具體應(yīng)用方式是,將本發(fā)明的各模塊作為一個整體和通信網(wǎng)絡(luò)仿真工具都安裝在同一臺計算機(jī)上。
如圖1所示,本發(fā)明建立的實(shí)時視景顯示平臺包括視景顯示模塊1、網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2、網(wǎng)絡(luò)場景生成模塊3、實(shí)時通信模塊4、時間管理模塊5、存儲模塊6、仿真情況重放模塊7和網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8。整個平臺通過實(shí)時通信模塊4完成與通信網(wǎng)絡(luò)仿真工具9的通訊。
本發(fā)明的總體實(shí)現(xiàn)方式如圖3所示,首先進(jìn)行系統(tǒng)初始化,建立網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),分配視景顯示緩沖;實(shí)時視景顯示平臺通過實(shí)時通信模塊4與通信網(wǎng)絡(luò)仿真工具9建立連接,進(jìn)行時間同步操作;連接建立后,通信網(wǎng)絡(luò)仿真工具9把建立好的仿真網(wǎng)絡(luò)場景(場景包括網(wǎng)絡(luò)拓?fù)浜凸?jié)點(diǎn)配置信息)以XML的格式通過實(shí)時通信模塊傳送給網(wǎng)絡(luò)場景生成模塊3,XML的文件格式如圖2所示;網(wǎng)絡(luò)場景生成模塊3開始解析XML格式的場景文件,把解析結(jié)果存放在網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中,并在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中查找XML文件中描述的網(wǎng)絡(luò)節(jié)點(diǎn),把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中,如果在模型庫中沒有找到相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)模型,則要使用網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8對該網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行建模,建模完成之后,把該節(jié)點(diǎn)模型添加到網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中,然后再把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中;網(wǎng)絡(luò)場景生成模塊3解析完XML的場景文件后,調(diào)用視景顯示模塊1,視景顯示模塊1讀取網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),在實(shí)時視景顯示平臺的用戶界面上生成仿真網(wǎng)絡(luò)場景;然后開始通信網(wǎng)絡(luò)仿真,時間管理模塊5控制仿真視景的推進(jìn),控制仿真的時間同步,同時實(shí)時通信模塊4開始接收通信網(wǎng)絡(luò)仿真工具9發(fā)送來的實(shí)時仿真數(shù)據(jù);視景顯示模塊1讀取實(shí)時仿真數(shù)據(jù),進(jìn)行數(shù)據(jù)處理,對處理后的仿真情況進(jìn)行實(shí)時視景顯示;同時存儲模塊6把實(shí)時仿真數(shù)據(jù)以時間為索引保存下來。仿真時間不停的向前推進(jìn),實(shí)時仿真數(shù)據(jù)不停的接收,實(shí)時仿真情況視景不停的顯示,直至仿真結(jié)束。
本發(fā)明中的網(wǎng)絡(luò)場景生成模塊3實(shí)現(xiàn)方式如圖4所示。通信網(wǎng)絡(luò)仿真工具9發(fā)送來的網(wǎng)絡(luò)場景是XML格式的仿真網(wǎng)絡(luò)場景文件,XML文件中定義了網(wǎng)絡(luò)類型、網(wǎng)絡(luò)節(jié)點(diǎn)名稱、網(wǎng)絡(luò)節(jié)點(diǎn)類型、網(wǎng)絡(luò)鏈路類型和連接方式信息。首先進(jìn)行網(wǎng)絡(luò)場景生成模塊3的初始化,創(chuàng)建一個網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)用來存儲解析后的網(wǎng)絡(luò)場景信息,該數(shù)據(jù)結(jié)構(gòu)包含了網(wǎng)絡(luò)類型、網(wǎng)絡(luò)節(jié)點(diǎn)鏈表和網(wǎng)絡(luò)鏈路鏈表。網(wǎng)絡(luò)類型是指該網(wǎng)絡(luò)是以太網(wǎng)、廣域網(wǎng)或無線局域網(wǎng),網(wǎng)絡(luò)節(jié)點(diǎn)鏈表中每一組元素包含網(wǎng)絡(luò)節(jié)點(diǎn)名稱、網(wǎng)絡(luò)節(jié)點(diǎn)類型、網(wǎng)絡(luò)節(jié)點(diǎn)視景模型名稱和與該節(jié)點(diǎn)直接連接的網(wǎng)絡(luò)節(jié)點(diǎn)名稱。網(wǎng)絡(luò)鏈路鏈表中每一組元素包含鏈路類型、網(wǎng)絡(luò)鏈路視景模型和與該鏈路連接的網(wǎng)絡(luò)節(jié)點(diǎn)名稱。然后開始讀取XML格式的仿真網(wǎng)絡(luò)場景文件,按照其格式進(jìn)行解析,把解析得到的網(wǎng)絡(luò)場景信息填入網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中。如果解析仿真網(wǎng)絡(luò)場景文件出現(xiàn)錯誤,則通過實(shí)時通信模塊4向通信網(wǎng)絡(luò)仿真工具9發(fā)送網(wǎng)絡(luò)場景請求消息,讓其重新發(fā)送仿真網(wǎng)絡(luò)場景文件再進(jìn)行解析。正確解析仿真網(wǎng)絡(luò)場景后,按照網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中網(wǎng)絡(luò)節(jié)點(diǎn)鏈表記錄的所有網(wǎng)絡(luò)節(jié)點(diǎn)的網(wǎng)絡(luò)節(jié)點(diǎn)類型在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中查找對應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)視景模型,把找到的網(wǎng)絡(luò)節(jié)點(diǎn)視景模型名稱添加到網(wǎng)絡(luò)節(jié)點(diǎn)鏈表該條記錄的網(wǎng)絡(luò)節(jié)點(diǎn)視景模型名稱上。再按照網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中網(wǎng)絡(luò)鏈路鏈表記錄的所有網(wǎng)絡(luò)鏈路的類型在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中查找對應(yīng)的網(wǎng)絡(luò)鏈路視景模型,把找到的網(wǎng)絡(luò)鏈路視景模型名稱添加到網(wǎng)絡(luò)鏈路鏈表該條記錄的網(wǎng)絡(luò)鏈路視景模型名稱上。如果在模型庫中沒有找到相應(yīng)的網(wǎng)絡(luò)元素視景模型,則要使用網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8對該網(wǎng)絡(luò)元素進(jìn)行建模,建模完成之后再把該元素添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中,最后調(diào)用視景顯示模塊1根據(jù)網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)在用戶界面上繪制出仿真網(wǎng)絡(luò)的場景。
本發(fā)明中的網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2包括典型的通信網(wǎng)絡(luò)以太網(wǎng)、廣域網(wǎng)和無線局域網(wǎng)。實(shí)現(xiàn)方式如圖5所示,創(chuàng)建一個名為Model Library的文件夾作為網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2的主文件夾,Model Library文件夾下創(chuàng)建三個文件夾,名字為Ethernet Library、WAN Library和WLAN Library,作為存儲以太網(wǎng)模型、廣域網(wǎng)模型和無線局域網(wǎng)模型的文件夾,所有的網(wǎng)絡(luò)節(jié)點(diǎn)模型文件按其類型分別存儲在這三個文件夾中。如果需要創(chuàng)建其他網(wǎng)絡(luò)類型的模型,在存儲時可以在Model Library目錄下以相同的方法建立該網(wǎng)絡(luò)類型的文件夾,把該網(wǎng)絡(luò)類型的節(jié)點(diǎn)模型放在其中。每個網(wǎng)絡(luò)類型的模型文件夾中包含節(jié)點(diǎn)模型列表文件和所有節(jié)點(diǎn)模型的文件組。節(jié)點(diǎn)模型列表文件記錄著該文件夾中所有節(jié)點(diǎn)模型文件的名字和對應(yīng)的節(jié)點(diǎn)名稱,節(jié)點(diǎn)類型。一個節(jié)點(diǎn)模型文件組是描述一個節(jié)點(diǎn)模型的一組文件。節(jié)點(diǎn)模型就是由節(jié)點(diǎn)模型文件組來描述的,該文件組中包括節(jié)點(diǎn)模型外觀文件、節(jié)點(diǎn)模型內(nèi)部工作方式文件和節(jié)點(diǎn)模型配置文件三部分。網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8包括網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具子模塊、網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具子模塊和網(wǎng)絡(luò)節(jié)點(diǎn)配置工具子模塊組成。外觀文件存放的是該節(jié)點(diǎn)在視景顯示中的外觀形象,由網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具創(chuàng)建,該外觀形象根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)際外觀創(chuàng)建,用來在場景生成時顯示該節(jié)點(diǎn)的外觀;內(nèi)部工作方式文件存放的是節(jié)點(diǎn)內(nèi)部的主要工作方式,由網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具創(chuàng)建,使用狀態(tài)轉(zhuǎn)移圖的形式描述,其實(shí)現(xiàn)方式如圖6所示,具體的實(shí)現(xiàn)方法請參考下一段中網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具創(chuàng)建網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式的方法,實(shí)現(xiàn)后的實(shí)例請參考圖10;配置文件描述了網(wǎng)絡(luò)節(jié)點(diǎn)模型的屬性,由網(wǎng)絡(luò)節(jié)點(diǎn)配置工具創(chuàng)建。按照上訴的實(shí)現(xiàn)方法就可以創(chuàng)建出樹形結(jié)構(gòu)的網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2。
創(chuàng)建網(wǎng)絡(luò)節(jié)點(diǎn)模型需要使用網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8,網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8實(shí)現(xiàn)方式如圖7所示。網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8包括網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具子模塊、網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具子模塊和網(wǎng)絡(luò)節(jié)點(diǎn)配置工具子模塊。網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具的實(shí)現(xiàn)方式如圖8所示,首先使用畫筆繪制網(wǎng)絡(luò)節(jié)點(diǎn)外觀的邊界線,即繪制網(wǎng)絡(luò)節(jié)點(diǎn)外觀的輪廓線和特征線,畫筆根據(jù)繪制情況調(diào)用畫線函數(shù)完成這一過程。然后使用畫筆為網(wǎng)絡(luò)節(jié)點(diǎn)的各部分填充顏色,畫筆根據(jù)顏色的填充情況調(diào)用填色函數(shù)完成這個過程。最后繪制完畢,保存網(wǎng)絡(luò)節(jié)點(diǎn)外觀文件。網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具功能是創(chuàng)建節(jié)點(diǎn)模型的內(nèi)部工作方式。該模塊主要以狀態(tài)轉(zhuǎn)移圖的形式描述節(jié)點(diǎn)的內(nèi)部工作狀態(tài)。它有自己的圖形界面,該子模塊包括以下幾部分圖像化狀態(tài)繪制函數(shù),圖形化狀態(tài)轉(zhuǎn)移連接函數(shù),轉(zhuǎn)移條件設(shè)置函數(shù),狀態(tài)內(nèi)部工作描述函數(shù)和實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù);圖形界面由繪圖函數(shù)繪制,該圖形界面上主要用來繪制狀態(tài)轉(zhuǎn)移圖和狀態(tài)轉(zhuǎn)移圖的內(nèi)部描述,圖像化狀態(tài)繪制函數(shù)是通過調(diào)用繪圖函數(shù)繪制節(jié)點(diǎn)內(nèi)部的一個工作狀態(tài)的狀態(tài)圖,圖形化狀態(tài)轉(zhuǎn)移連接函數(shù)是通過調(diào)用繪圖函數(shù)繪制兩個狀態(tài)圖之間的狀態(tài)轉(zhuǎn)移連接線,轉(zhuǎn)移條件設(shè)置函數(shù)是在狀態(tài)轉(zhuǎn)移連接線上設(shè)置狀態(tài)轉(zhuǎn)移的條件,狀態(tài)內(nèi)部工作描述函數(shù)是通過調(diào)用繪圖函數(shù)細(xì)致的描述狀態(tài)內(nèi)部的動畫,實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù)是通過調(diào)用文字顯示函數(shù)在狀態(tài)內(nèi)部設(shè)置顯示文字格式的實(shí)時仿真數(shù)據(jù)的方式。其實(shí)現(xiàn)方式如圖9所示,首先根據(jù)該節(jié)點(diǎn)的主要工作方式創(chuàng)建網(wǎng)絡(luò)節(jié)點(diǎn)工作時的狀態(tài)轉(zhuǎn)移圖,設(shè)置狀態(tài)轉(zhuǎn)移的條件,該步驟需要在圖形界面上使用狀態(tài)轉(zhuǎn)移繪制函數(shù)創(chuàng)建網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部的各個狀態(tài),并把狀態(tài)按照轉(zhuǎn)移的順序排好;然后使用圖形化狀態(tài)轉(zhuǎn)移連接函數(shù)繪制狀態(tài)轉(zhuǎn)移線,描述狀態(tài)轉(zhuǎn)移的方向,在狀態(tài)轉(zhuǎn)移線上使用轉(zhuǎn)移條件設(shè)置函數(shù)設(shè)置轉(zhuǎn)移條件。然后對狀態(tài)轉(zhuǎn)移圖內(nèi)的各個狀態(tài)進(jìn)行編程,描述其狀態(tài)執(zhí)行時的動畫顯示方式和文字格式數(shù)據(jù)的顯示方式,該步驟是使用狀態(tài)內(nèi)部工作描述函數(shù)具體繪制狀態(tài)內(nèi)部的動畫顯示方式,使用實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù)設(shè)置實(shí)時數(shù)據(jù)的顯示方式。對狀態(tài)轉(zhuǎn)移圖中的主要狀態(tài)進(jìn)行細(xì)致編程,設(shè)置當(dāng)該狀態(tài)開始執(zhí)行時動畫的顯示內(nèi)容和顯示方式,設(shè)置該狀態(tài)數(shù)據(jù)形式的仿真結(jié)果的顯示方式。最后創(chuàng)建完畢,保存網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式文件。例如建立以太網(wǎng)交換機(jī)的節(jié)點(diǎn)內(nèi)部工作方式的實(shí)現(xiàn)方式如下,實(shí)現(xiàn)的結(jié)果如圖10所示,首先在圖形界面上使用狀態(tài)轉(zhuǎn)移繪制函數(shù)創(chuàng)建交換機(jī)節(jié)點(diǎn)內(nèi)部的六個狀態(tài),分別為啟動狀態(tài)、接收數(shù)據(jù)包狀態(tài)、數(shù)據(jù)包在接收緩沖中排隊(duì)和數(shù)據(jù)包處理狀態(tài)、數(shù)據(jù)包加入發(fā)送緩沖隊(duì)列狀態(tài)、發(fā)送數(shù)據(jù)包狀態(tài)和結(jié)束狀態(tài),并把這六個狀態(tài)按照所述的轉(zhuǎn)移順序排好;然后使用圖形化狀態(tài)轉(zhuǎn)移連接函數(shù)繪制狀態(tài)轉(zhuǎn)移線,把這六個狀態(tài)按狀態(tài)轉(zhuǎn)移的順序連接起來,在狀態(tài)轉(zhuǎn)移線上使用轉(zhuǎn)移條件設(shè)置函數(shù)設(shè)置六個轉(zhuǎn)移條件,按順序分別為收到數(shù)據(jù)包到來消息條件、接收數(shù)據(jù)包完畢條件、一個數(shù)據(jù)包處理完畢條件、發(fā)送緩沖隊(duì)列不為空條件、接收緩沖隊(duì)列不為空條件和發(fā)送緩沖隊(duì)列為空條件;再后使用狀態(tài)內(nèi)部工作描述函數(shù)具體繪制狀態(tài)2數(shù)據(jù)包在接收緩沖中排隊(duì)和數(shù)據(jù)包處理狀態(tài)內(nèi)部的動畫顯示方式,使用實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù)設(shè)置實(shí)時數(shù)據(jù)的顯示方式。網(wǎng)絡(luò)節(jié)點(diǎn)配置工具的實(shí)現(xiàn)方式如圖11所示,首先設(shè)置節(jié)點(diǎn)名稱和節(jié)點(diǎn)類型。然后配置該節(jié)點(diǎn)動畫顯示的內(nèi)容,配置該節(jié)點(diǎn)顯示數(shù)據(jù)形式的仿真結(jié)果的內(nèi)容。最后配置結(jié)束,保存節(jié)點(diǎn)配置文件。
下面講述新建一個網(wǎng)絡(luò)節(jié)點(diǎn)的實(shí)現(xiàn)方式,首先要創(chuàng)建一個網(wǎng)絡(luò)節(jié)點(diǎn)工程,使用工程的方式對創(chuàng)建進(jìn)行管理。創(chuàng)建工程后,網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊8自動生成三個空文件,分別是節(jié)點(diǎn)模型外觀文件、節(jié)點(diǎn)模型內(nèi)部工作方式文件和節(jié)點(diǎn)模型配置文件。然后按照順序?qū)γ總€文件進(jìn)行編輯。使用網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具創(chuàng)建節(jié)點(diǎn)模型的外觀,要使用畫筆按照該節(jié)點(diǎn)的實(shí)際形象繪制出其在視景顯示時的外觀,繪制結(jié)束后保存文件。使用網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具創(chuàng)建節(jié)點(diǎn)模型的內(nèi)部工作方式,要先分析該節(jié)點(diǎn)都有哪些主要的內(nèi)部工作方式,把主要的內(nèi)部工作方式以狀態(tài)轉(zhuǎn)移圖的形式進(jìn)行建模,使在視景顯示中能夠顯示出網(wǎng)絡(luò)節(jié)點(diǎn)模型的內(nèi)部工作過程。創(chuàng)建結(jié)束后保存文件。使用網(wǎng)絡(luò)節(jié)點(diǎn)配置工具進(jìn)行節(jié)點(diǎn)模型的配置文件創(chuàng)建,要在配置文件中記錄網(wǎng)絡(luò)節(jié)點(diǎn)的名字、網(wǎng)絡(luò)節(jié)點(diǎn)的類型、網(wǎng)絡(luò)節(jié)點(diǎn)性能參數(shù)、網(wǎng)絡(luò)節(jié)點(diǎn)在實(shí)時視景中的動作方式等信息。創(chuàng)建完節(jié)點(diǎn)模型外觀文件、節(jié)點(diǎn)模型內(nèi)部工作方式文件和節(jié)點(diǎn)模型配置文件后保存工程,則把網(wǎng)絡(luò)節(jié)點(diǎn)模型保存到了網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中。然后關(guān)閉工程。對于修改節(jié)點(diǎn)模型,首先打開節(jié)點(diǎn)模型工程,使用網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具修改節(jié)點(diǎn)模型的外觀,即使用畫筆按照修改節(jié)點(diǎn)的外觀;使用網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具修改節(jié)點(diǎn)模型的內(nèi)部工作方式,即修改主要的內(nèi)部工作方式的狀態(tài)轉(zhuǎn)移圖;使用網(wǎng)絡(luò)節(jié)點(diǎn)配置工具修改節(jié)點(diǎn)模型的配置文件。修改完成后,保存工程,則修改后的網(wǎng)絡(luò)節(jié)點(diǎn)模型替代了修改以前的模型被保存到了網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中,如果需要保存修改前的節(jié)點(diǎn)模型,則可以使用另保存工程,給修改后的節(jié)點(diǎn)模型改一個名字存放在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中。
本發(fā)明中的實(shí)時通信模塊4實(shí)現(xiàn)方式如圖12所示。首先選擇實(shí)時通信模式,通信模式分三種,分別為進(jìn)程間通信模式、基于TCP/UDP的實(shí)時通信模式和基于HLA的通信模式。進(jìn)程間通信模式適用于通信網(wǎng)絡(luò)仿真工具9和實(shí)時視景顯示平臺安裝在同一臺計算機(jī)上的應(yīng)用,基于TCP/UDP的實(shí)時通信模式和基于HLA的通信模式適用于通信網(wǎng)絡(luò)仿真工具9和實(shí)時視景顯示平臺分別安裝在不同的計算機(jī)上的應(yīng)用。實(shí)時通信模塊4包含通信方式設(shè)定函數(shù)、進(jìn)程間通信函數(shù)、TCP/UDP通信函數(shù)、HLA通信函數(shù)。其中通信方式設(shè)定函數(shù)是設(shè)定選擇的通信方式。進(jìn)程間通信函數(shù)完成進(jìn)程間的通信,該函數(shù)包括通信管道建立函數(shù)、數(shù)據(jù)發(fā)送函數(shù)、數(shù)據(jù)接收函數(shù)。管道建立函數(shù)是建立通信用的管道,以保證數(shù)據(jù)的實(shí)時發(fā)送和接收;數(shù)據(jù)發(fā)送函數(shù)是用來發(fā)送數(shù)據(jù);數(shù)據(jù)接收函數(shù)是用來接收數(shù)據(jù)。在使用進(jìn)程間通信時先調(diào)用通信管道建立函數(shù)建立通信管道,管道建立后即可使用數(shù)據(jù)發(fā)送函數(shù)發(fā)送數(shù)據(jù),使用數(shù)據(jù)接收函數(shù)接收數(shù)據(jù)。TCP/UDP通信函數(shù)用來完成TCP/UDP方式的通信,該函數(shù)包括連接建立函數(shù)、時間同步函數(shù)、數(shù)據(jù)發(fā)送函數(shù)、數(shù)據(jù)接收函數(shù)、數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)和數(shù)據(jù)重傳函數(shù)。連接建立函數(shù)是使用套接字(SOCKET)實(shí)現(xiàn)TCP連接;時間同步函數(shù)是通過三次時間同步信息的發(fā)送和反饋信息的接收來協(xié)調(diào)兩臺計算機(jī)的時間同步;數(shù)據(jù)發(fā)送函數(shù)是用來發(fā)送數(shù)據(jù);數(shù)據(jù)接收函數(shù)是用來接收數(shù)據(jù);數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)是用來驗(yàn)證每次傳輸?shù)臄?shù)據(jù)的正確性;數(shù)據(jù)重傳函數(shù)是當(dāng)數(shù)據(jù)傳輸不正確時重傳上次發(fā)送的數(shù)據(jù)。在使用TCP/UDP通信時,首先調(diào)用連接建立函數(shù)建立兩臺計算機(jī)之間的連接;然后調(diào)用時間同步函數(shù)進(jìn)行時間同步;之后可以使用數(shù)據(jù)發(fā)送函數(shù)發(fā)送數(shù)據(jù),數(shù)據(jù)接收函數(shù)接收數(shù)據(jù),在一次數(shù)據(jù)接收完畢后調(diào)用數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)驗(yàn)證數(shù)據(jù)的正確性,如果數(shù)據(jù)傳輸?shù)牟徽_則通知數(shù)據(jù)發(fā)送方調(diào)用數(shù)據(jù)重傳數(shù)據(jù)重新發(fā)送數(shù)據(jù)。HLA通信函數(shù)用來完成HLA方式的通信,HLA通信函數(shù)可以按照HLA技術(shù)標(biāo)準(zhǔn)建立。對于進(jìn)程間通信,就是在計算機(jī)內(nèi)部的通信,此種模式需要通信網(wǎng)絡(luò)仿真工具9支持二次開發(fā),要建立實(shí)時通信模塊4和通信網(wǎng)絡(luò)仿真工具9進(jìn)程間通信的管道。實(shí)現(xiàn)通信管道就是在內(nèi)存中開辟一段共享空間,實(shí)時通信模塊4和通信網(wǎng)絡(luò)仿真工具9都可以讀寫這塊內(nèi)存區(qū)域,通過這段共享內(nèi)存區(qū)域即可進(jìn)行實(shí)時數(shù)據(jù)通信。仿真開始后,實(shí)時通信模塊4通過進(jìn)程間通信管道與通信網(wǎng)絡(luò)仿真工具9進(jìn)行消息交互,接收實(shí)時仿真結(jié)果,收到實(shí)時仿真結(jié)果后把其存放在已經(jīng)建立好的數(shù)據(jù)結(jié)構(gòu)中等待處理。實(shí)現(xiàn)基于TCP/UDP的實(shí)時通信,要使用套接字(SOCKET)編寫實(shí)時通信處理代碼,首先建立與通信網(wǎng)絡(luò)仿真工具9的TCP連接,開始向通信網(wǎng)絡(luò)仿真工具9發(fā)送建立連接請求消息,等待消息的反饋,若未正確建立連接則重新發(fā)送建立連接請求消息,直至連接建立成功。然后向通信網(wǎng)絡(luò)仿真工具9發(fā)送時間同步消息,等待消息的反饋,若未完成時間同步則重新發(fā)送時間同步消息,直至?xí)r間同步,這樣安裝通信網(wǎng)絡(luò)仿真工具9的計算機(jī)和安裝視景顯示平臺的計算機(jī)就達(dá)到了時間同步。經(jīng)過TCP連接的建立和時間同步即可完成實(shí)時通信連接。仿真開始后,先由實(shí)時通信模塊4發(fā)送信息查詢的TCP消息,查詢仿真結(jié)果,通信網(wǎng)絡(luò)仿真工具9收到這個消息后開始利用UDP發(fā)送實(shí)時仿真數(shù)據(jù),同時利用TCP發(fā)送消息通知實(shí)時通信模塊4一個時間步長的實(shí)時仿真數(shù)據(jù)已經(jīng)發(fā)送完畢,實(shí)時通信模塊4完整接收到通信網(wǎng)絡(luò)仿真工具9發(fā)來的UDP消息后,利用TCP給其發(fā)送完整接收的確認(rèn)消息,把收到實(shí)時仿真結(jié)果存放在已經(jīng)建立好的數(shù)據(jù)結(jié)構(gòu)中等待處理。則一次實(shí)時仿真結(jié)果傳送完畢,循環(huán)上述過程,即可完成仿真結(jié)果的實(shí)時傳輸。對于基于HLA的通信模式可以按照HLA技術(shù)標(biāo)準(zhǔn)建立實(shí)時通信連接。仿真過程中,實(shí)時通信模塊4通過HLA技術(shù)進(jìn)行視景同步,發(fā)送信息查詢消息,實(shí)時查詢仿真結(jié)果,收到實(shí)時仿真結(jié)果后把其存放在已經(jīng)建立好的數(shù)據(jù)結(jié)構(gòu)中等待處理。仿真結(jié)束后,對于進(jìn)程間通信模式,需要是否共享內(nèi)存區(qū)域,即可斷開通信管道;對于基于TCP/UDP的實(shí)時通信模式,需要斷開TCP連接;對于基于HLA的通信模式,需要退出HLA聯(lián)邦。即實(shí)時通信的連接斷開后再關(guān)閉通信網(wǎng)絡(luò)仿真工具9和實(shí)時視景顯示平臺。
本發(fā)明中的時間管理模塊5實(shí)現(xiàn)方式如圖13所示,首先進(jìn)行時間管理模塊5的初始化,初始化過程中再一次與通信網(wǎng)絡(luò)仿真工具9進(jìn)行時間同步操作,向通信網(wǎng)絡(luò)仿真工具9發(fā)送時間同步消息,等待消息反饋,若沒有收到反饋,則重復(fù)發(fā)送同步消息直至?xí)r間同步完成。然后進(jìn)行實(shí)時視景顯示平臺的仿真初始化,初始化完畢后把仿真時間推進(jìn)到0時刻。仿真開始,時間管理模塊5等待通信網(wǎng)絡(luò)仿真工具9發(fā)送的時間推進(jìn)請求消息,收到該消息后開始以最小時間步長推進(jìn)仿真時間,然后等待通信仿真工具發(fā)送時間推進(jìn)完成消息,收到該消息則完成了一次時間推進(jìn)。重復(fù)上述時間推進(jìn)過程,使仿真不斷運(yùn)行,直至仿真結(jié)束。
本發(fā)明中的視景顯示模塊1實(shí)現(xiàn)方式如圖14所示。視景顯示模塊1使用C語言進(jìn)行實(shí)現(xiàn),首先進(jìn)行視景顯示初始化,分配視景顯示緩沖,讀取網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)鏈表和網(wǎng)絡(luò)鏈路鏈表中記錄的網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)的連接方式繪制網(wǎng)絡(luò)場景,各個節(jié)點(diǎn)的視景模型根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)鏈表的記錄在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊2中讀取繪制。繪制完網(wǎng)絡(luò)場景,設(shè)置每個節(jié)點(diǎn)顯示動畫的方式,至此完成視景顯示初始化。仿真進(jìn)行中,視景顯示模塊1等待實(shí)時仿真數(shù)據(jù)接收完畢消息。收到實(shí)時仿真數(shù)據(jù)接收完畢的消息后,開始處理實(shí)時仿真數(shù)據(jù),仿真數(shù)據(jù)經(jīng)過處理分成兩部分,一部分是可以使用動畫方式顯示的數(shù)據(jù),一部分是直接以數(shù)值的方式顯示的數(shù)據(jù)。以動畫方式顯示的數(shù)據(jù)包括數(shù)據(jù)包的傳輸軌跡、鏈路的占用情況、數(shù)據(jù)交換設(shè)備內(nèi)緩沖的排隊(duì)情況;以數(shù)值的方式顯示的數(shù)據(jù)包括節(jié)點(diǎn)的吞吐量、鏈路的平均占用率、數(shù)據(jù)包的平均延時、節(jié)點(diǎn)的丟包率。對于數(shù)據(jù)包的傳輸動畫實(shí)現(xiàn)方式是在數(shù)據(jù)包的發(fā)送端和接收端直接繪制數(shù)據(jù)包流動的軌跡,給人以視覺上數(shù)據(jù)包從發(fā)送端傳輸?shù)搅私邮斩说母杏X。對于鏈路的占用情況動畫實(shí)現(xiàn)方式是以不同顏色描述鏈路占用情況,當(dāng)收到鏈路占用空閑和低占用時,在網(wǎng)絡(luò)場景中使用綠顏色繪制該條鏈路,表示鏈路占用很低,通信良好;當(dāng)收到鏈路占用中等,占整條鏈路的通信帶寬的一半左右時,在網(wǎng)絡(luò)場景中使用黃顏色繪制該條鏈路,表示鏈路占用繁忙;當(dāng)收到鏈路占用接近整條鏈路的通信帶寬時,在網(wǎng)絡(luò)場景中使用紅顏色繪制該條鏈路,表示鏈路會發(fā)生阻塞,通信情況不好。對于網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部主要工作方式的實(shí)例如圖10所示,用戶進(jìn)入需要查看的網(wǎng)絡(luò)節(jié)點(diǎn)模型內(nèi)部,查看該節(jié)點(diǎn)內(nèi)部的工作情況,網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部的工作方式是以狀態(tài)轉(zhuǎn)移的方式描述的,初始狀態(tài)為啟動狀態(tài),當(dāng)滿足條件1收到數(shù)據(jù)包到來消息時,狀態(tài)由啟動狀態(tài)轉(zhuǎn)移到狀態(tài)1接收數(shù)據(jù)包,當(dāng)滿足條件2接收數(shù)據(jù)包完畢時,狀態(tài)由狀態(tài)1接收數(shù)據(jù)包轉(zhuǎn)移到狀態(tài)2數(shù)據(jù)包在接收緩沖中排隊(duì)并且處理數(shù)據(jù)包,依次進(jìn)行狀態(tài)轉(zhuǎn)移,直至結(jié)束狀態(tài);圖10中對于狀態(tài)2的工作情況做了具體描述,狀態(tài)2內(nèi)部以動畫的形式顯示了該節(jié)點(diǎn)接收隊(duì)列緩沖的情況和緩沖內(nèi)數(shù)據(jù)包處理的情況。對于數(shù)值方式顯示的數(shù)據(jù)顯示方式為,在要查看的節(jié)點(diǎn)模型上,彈出半透明對話框,在該對話框中顯示該節(jié)點(diǎn)的吞吐量,丟包率和數(shù)據(jù)包的平均延時;在鏈路模型上,同樣要彈出半透明對話框顯示鏈路的平均占有率。完成了一次實(shí)時數(shù)據(jù)的處理和實(shí)時仿真情況顯示后開始處理下一實(shí)時數(shù)據(jù)和顯示下一時間段的實(shí)時仿真情況。此過程不斷循環(huán),視景顯示模塊1就把仿真的視景實(shí)時的顯示在用戶界面上。當(dāng)仿真結(jié)束后,視景顯示模塊1要停止視景繪制,關(guān)閉視景顯示界面,銷毀開辟的視景顯示緩沖。視景顯示結(jié)束。
本發(fā)明中的存儲模塊6實(shí)現(xiàn)方式如圖15所示,首先進(jìn)行初始化,分配用于數(shù)據(jù)存儲的緩沖,建立一個文件用于存儲數(shù)據(jù),把仿真網(wǎng)絡(luò)場景數(shù)據(jù)寫入文件中。仿真開始,系統(tǒng)每處理完一段完整的實(shí)時仿真數(shù)據(jù),就把該段數(shù)據(jù)保存到存儲緩沖,然后保存到文件中。此保存過程不斷循環(huán),直至仿真結(jié)束。最后釋放存儲緩沖,存儲結(jié)束。
本發(fā)明中的仿真情況重放模塊7實(shí)現(xiàn)方式如圖16所示,首先進(jìn)行初始化,加載視景存儲文件,繪制整個網(wǎng)絡(luò)場景。然后從文件中讀取仿真時的數(shù)據(jù),根據(jù)仿真數(shù)據(jù)把當(dāng)時的仿真情況和仿真結(jié)果以視景的方式顯示出來。此讀取文件,顯示視景的過程不斷循環(huán),直至文件讀取完畢。
權(quán)利要求
1.一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,主要用來支持各種通信網(wǎng)絡(luò)仿真工具,以實(shí)現(xiàn)仿真情況和仿真結(jié)果實(shí)時視景顯示,該平臺包括網(wǎng)絡(luò)場景生成模塊,用于導(dǎo)入可擴(kuò)展標(biāo)識語言XML類型的拓?fù)湮募砩尚枰抡娴木W(wǎng)絡(luò)場景;網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊,帶有典型節(jié)點(diǎn)模型的模型庫;時間管理模塊,完成仿真時間的推進(jìn)和仿真的控制;視景顯示模塊,采用二維或者三維的方式顯示仿真情況,繪制仿真過程中的實(shí)時視景;存儲模塊,把當(dāng)次的仿真結(jié)果存儲下來,以待以后重放;仿真情況重放模塊,重放已經(jīng)保存下來的仿真視景;其特征在于,該平臺還包括實(shí)時通信模塊,完成與網(wǎng)絡(luò)仿真工具的實(shí)時通信;網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊,用于建立網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中沒有的節(jié)點(diǎn)模型。
2.根據(jù)權(quán)利要求1所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于實(shí)時通信模塊主要用來完成與網(wǎng)絡(luò)仿真工具的實(shí)時通信;實(shí)時通信模塊包含通信方式設(shè)定函數(shù)、進(jìn)程間通信函數(shù)、TCP/UDP通信函數(shù)、HLA通信函數(shù);其中通信方式設(shè)定函數(shù)是設(shè)定選擇的通信方式,即選擇進(jìn)程間通信模式、基于傳輸控制協(xié)議/用戶數(shù)據(jù)報協(xié)議或曰TCP/UDP的通信方式和基于高層體系結(jié)構(gòu)或曰HLA的通信方式;進(jìn)程間通信函數(shù)完成進(jìn)程間的通信,該函數(shù)包括通信管道建立函數(shù)、數(shù)據(jù)發(fā)送函數(shù)、數(shù)據(jù)接收函數(shù);管道建立函數(shù)是建立通信用的管道,以保證數(shù)據(jù)的實(shí)時發(fā)送和接收,數(shù)據(jù)發(fā)送函數(shù)是用來發(fā)送數(shù)據(jù);數(shù)據(jù)接收函數(shù)是用來接收數(shù)據(jù),在使用進(jìn)程間通信時先調(diào)用通信管道建立函數(shù)建立通信管道,管道建立后即可使用數(shù)據(jù)發(fā)送函數(shù)發(fā)送數(shù)據(jù),使用數(shù)據(jù)接收函數(shù)接收數(shù)據(jù);TCP/UDP通信函數(shù)用來完成TCP/UDP方式的通信,該函數(shù)包括連接建立函數(shù)、時間同步函數(shù)、數(shù)據(jù)發(fā)送函數(shù)、數(shù)據(jù)接收函數(shù)、數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)和數(shù)據(jù)重傳函數(shù);連接建立函數(shù)是使用套接字SOCKET實(shí)現(xiàn)TCP連接,時間同步函數(shù)是通過三次時間同步信息的發(fā)送和反饋信息的接收來協(xié)調(diào)兩臺計算機(jī)的時間同步,數(shù)據(jù)發(fā)送函數(shù)是用來發(fā)送數(shù)據(jù),數(shù)據(jù)接收函數(shù)是用來接收數(shù)據(jù),數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)是用來驗(yàn)證每次傳輸?shù)臄?shù)據(jù)的正確性,數(shù)據(jù)重傳函數(shù)是當(dāng)數(shù)據(jù)傳輸不正確時重傳上次發(fā)送的數(shù)據(jù),在使用TCP/UDP通信時,首先調(diào)用連接建立函數(shù)建立兩臺計算機(jī)之間的連接,然后調(diào)用時間同步函數(shù)進(jìn)行時間同步,之后可以使用數(shù)據(jù)發(fā)送函數(shù)發(fā)送數(shù)據(jù),數(shù)據(jù)接收函數(shù)接收數(shù)據(jù),在一次數(shù)據(jù)接收完畢后調(diào)用數(shù)據(jù)正確傳輸驗(yàn)證函數(shù)驗(yàn)證數(shù)據(jù)的正確性,如果數(shù)據(jù)傳輸?shù)牟徽_則通知數(shù)據(jù)發(fā)送方調(diào)用數(shù)據(jù)重傳數(shù)據(jù)重新發(fā)送數(shù)據(jù);HLA通信函數(shù)用來完成HLA方式的通信,HLA通信函數(shù)可以按照HLA技術(shù)標(biāo)準(zhǔn)建立。
3.根據(jù)權(quán)利要求1所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊包括網(wǎng)絡(luò)節(jié)點(diǎn)外觀建模工具子模塊、網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具子模塊和網(wǎng)絡(luò)節(jié)點(diǎn)配置工具子模塊。
4.根據(jù)權(quán)利要求3所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于利用網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具子模塊創(chuàng)建節(jié)點(diǎn)模型的內(nèi)部工作方式,該子模塊包括以下幾部分圖像化狀態(tài)繪制函數(shù),圖形化狀態(tài)轉(zhuǎn)移連接函數(shù),轉(zhuǎn)移條件設(shè)置函數(shù),狀態(tài)內(nèi)部工作描述函數(shù)和實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù);圖像化狀態(tài)繪制函數(shù)是通過調(diào)用繪圖函數(shù)繪制節(jié)點(diǎn)內(nèi)部的一個工作狀態(tài)的狀態(tài)圖;圖形化狀態(tài)轉(zhuǎn)移連接函數(shù)是通過調(diào)用繪圖函數(shù)繪制兩個狀態(tài)圖之間的狀態(tài)轉(zhuǎn)移連接線;轉(zhuǎn)移條件設(shè)置函數(shù)是在狀態(tài)轉(zhuǎn)移連接線上設(shè)置狀態(tài)轉(zhuǎn)移的條件;狀態(tài)內(nèi)部工作描述函數(shù)是通過調(diào)用繪圖函數(shù)細(xì)致的描述狀態(tài)內(nèi)部的動畫;實(shí)時數(shù)據(jù)顯示設(shè)置函數(shù)是通過調(diào)用文字顯示函數(shù)在狀態(tài)內(nèi)部設(shè)置顯示文字格式的實(shí)時仿真數(shù)據(jù)的方式。
5.根據(jù)權(quán)利要求1所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于網(wǎng)絡(luò)場景生成模塊初始化時創(chuàng)建一個網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),用來存儲經(jīng)解析后的通信網(wǎng)絡(luò)仿真工具發(fā)送來的XML格式文件的仿真網(wǎng)絡(luò)場景數(shù)據(jù),該數(shù)據(jù)結(jié)構(gòu)包括網(wǎng)絡(luò)類型、網(wǎng)絡(luò)節(jié)點(diǎn)鏈表和網(wǎng)絡(luò)鏈路鏈表;網(wǎng)絡(luò)類型是指該網(wǎng)絡(luò)是以太網(wǎng)、廣域網(wǎng)或無線局域網(wǎng);網(wǎng)絡(luò)節(jié)點(diǎn)鏈表中每一組元素包含網(wǎng)絡(luò)節(jié)點(diǎn)名稱、網(wǎng)絡(luò)節(jié)點(diǎn)類型、網(wǎng)絡(luò)節(jié)點(diǎn)視景模型名稱和與該節(jié)點(diǎn)直接連接的網(wǎng)絡(luò)節(jié)點(diǎn)名稱;網(wǎng)絡(luò)鏈路鏈表中每一組元素包含鏈路類型、網(wǎng)絡(luò)鏈路視景模型和與該鏈路連接的網(wǎng)絡(luò)節(jié)點(diǎn)名稱。
6.根據(jù)權(quán)利要求1所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊依網(wǎng)絡(luò)類型創(chuàng)建三個文件夾,即以太網(wǎng)模型庫、廣域網(wǎng)模型庫和無線局域網(wǎng)模型庫,所有的網(wǎng)絡(luò)節(jié)點(diǎn)模型文件按其類型分別存儲在這三個文件夾中,每個網(wǎng)絡(luò)類型的模型文件夾中包含節(jié)點(diǎn)模型列表文件和所有節(jié)點(diǎn)模型的文件組,;節(jié)點(diǎn)模型列表文件記錄著該文件夾中所有節(jié)點(diǎn)模型文件的名字和對應(yīng)的節(jié)點(diǎn)名稱、節(jié)點(diǎn)類型;一個節(jié)點(diǎn)模型文件組是描述一個節(jié)點(diǎn)模型的一組文件,節(jié)點(diǎn)模型就是由節(jié)點(diǎn)模型文件組來描述的,該文件組中包括節(jié)點(diǎn)模型外觀文件、節(jié)點(diǎn)模型內(nèi)部工作方式文件和節(jié)點(diǎn)模型配置文件三部分。
7.根據(jù)權(quán)利要求6所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于節(jié)點(diǎn)模型內(nèi)部工作方式文件存放的是節(jié)點(diǎn)內(nèi)部的主要工作方式,由網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部工作方式建模工具子模塊創(chuàng)建,使用狀態(tài)轉(zhuǎn)移圖的形式描述,每個狀態(tài)中都可以通過編程實(shí)現(xiàn)該狀態(tài)運(yùn)行時的動畫和數(shù)據(jù)顯示方式。
8.根據(jù)權(quán)利要求1所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于視景顯示模塊讀取網(wǎng)絡(luò)場景生成模塊中的網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)鏈表和網(wǎng)絡(luò)鏈路鏈表中記錄的網(wǎng)絡(luò)拓?fù)渲泄?jié)點(diǎn)的連接方式繪制網(wǎng)絡(luò)場景,各個節(jié)點(diǎn)的視景模型根據(jù)網(wǎng)絡(luò)節(jié)點(diǎn)鏈表的記錄在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中讀取并繪制網(wǎng)絡(luò)場景,設(shè)置每個節(jié)點(diǎn)顯示動畫的方式;仿真進(jìn)行中,視景顯示模塊開始處理實(shí)時仿真數(shù)據(jù),仿真數(shù)據(jù)經(jīng)過處理分成兩部分,一部分是可以使用動畫方式顯示的數(shù)據(jù),一部分是直接以數(shù)值的方式顯示的數(shù)據(jù);以動畫方式顯示的數(shù)據(jù)包括數(shù)據(jù)包的傳輸軌跡、鏈路的占用情況、數(shù)據(jù)交換設(shè)備內(nèi)緩沖的排隊(duì)情況;以數(shù)值的方式顯示的數(shù)據(jù)包括節(jié)點(diǎn)的吞吐量、鏈路的平均占用率、數(shù)據(jù)包的平均延時、節(jié)點(diǎn)的丟包率。
9.根據(jù)權(quán)利要求8所述的一種通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺,其特征在于通過視景顯示模塊可以查看網(wǎng)絡(luò)節(jié)點(diǎn)內(nèi)部主要工作方式的實(shí)現(xiàn)視景,對于數(shù)據(jù)包的傳輸動畫實(shí)現(xiàn)方式是在數(shù)據(jù)包的發(fā)送端和接收端直接繪制數(shù)據(jù)包流動的軌跡,對于鏈路的占用情況動畫實(shí)現(xiàn)方式是以不同顏色描述鏈路占用情況。
10.一種應(yīng)用權(quán)利要求1所述的通信網(wǎng)絡(luò)仿真工具的實(shí)時視景顯示平臺的實(shí)現(xiàn)方法,其特征在于,包括如下步驟步驟1實(shí)時視景顯示平臺初始化,建立網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),分配視景顯示緩沖;步驟2實(shí)時視景顯示平臺通過實(shí)時通信模塊與通信網(wǎng)絡(luò)仿真工具建立連接,進(jìn)行時間同步操作;步驟3通信網(wǎng)絡(luò)仿真工具把建立好的網(wǎng)絡(luò)場景以XML的格式通過實(shí)時通信模塊傳送給網(wǎng)絡(luò)場景生成模塊;步驟4網(wǎng)絡(luò)場景生成模塊開始解析XML格式的場景文件,把解析結(jié)果存放在網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)中,并在網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中查找XML文件中描述的網(wǎng)絡(luò)節(jié)點(diǎn),把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中;如果在模型庫中沒有找到相應(yīng)的網(wǎng)絡(luò)節(jié)點(diǎn)模型,則要使用網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊對該網(wǎng)絡(luò)節(jié)點(diǎn)進(jìn)行建模,建模完成之后,把該節(jié)點(diǎn)模型添加到網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊中,然后再把該節(jié)點(diǎn)模型添加到仿真網(wǎng)絡(luò)場景的數(shù)據(jù)結(jié)構(gòu)中;步驟5網(wǎng)絡(luò)場景生成模塊解析完XML的場景文件后,調(diào)用視景顯示模塊,視景顯示模塊讀取網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu),在實(shí)時視景顯示平臺的用戶界面上生成仿真網(wǎng)絡(luò)場景;步驟6時間管理模塊控制仿真視景的推進(jìn),控制仿真的時間同步,同時實(shí)時通信模塊開始接收通信網(wǎng)絡(luò)仿真工具發(fā)送來的實(shí)時仿真數(shù)據(jù);步驟7視景顯示模塊讀取實(shí)時仿真數(shù)據(jù),進(jìn)行數(shù)據(jù)處理,對處理后的仿真情況進(jìn)行實(shí)時視景顯示;步驟8存儲模塊把實(shí)時仿真數(shù)據(jù)以時間為索引保存下來;步驟9實(shí)時仿真數(shù)據(jù)不斷的被實(shí)時通信模塊接收,視景顯示模塊實(shí)時顯示根據(jù)實(shí)時仿真數(shù)據(jù)處理后得到的實(shí)時仿真情況和仿真結(jié)果,直至仿真結(jié)束;步驟10仿真結(jié)束后,斷開與通信仿真網(wǎng)絡(luò)的連接,銷毀視景顯示緩沖,銷毀網(wǎng)絡(luò)場景數(shù)據(jù)結(jié)構(gòu)。
全文摘要
本發(fā)明是一個獨(dú)立的實(shí)時視景顯示平臺,屬于一個通用的平臺,該視景顯示平臺專門為通信網(wǎng)絡(luò)仿真工具設(shè)計,用來顯示通信網(wǎng)絡(luò)仿真工具的實(shí)時仿真場景和仿真情況。該平臺包括網(wǎng)絡(luò)場景生成模塊、網(wǎng)絡(luò)節(jié)點(diǎn)模型庫模塊、時間管理模塊、視景顯示模塊、存儲模塊、仿真情況重放模塊,其特征在于,該平臺還包括實(shí)時通信模塊、網(wǎng)絡(luò)節(jié)點(diǎn)建模工具模塊。通過快速建立與通信網(wǎng)絡(luò)仿真工具仿真的拓?fù)湎嘁恢碌木W(wǎng)絡(luò)拓?fù)浜凸?jié)點(diǎn)參數(shù)設(shè)置來重現(xiàn)仿真場景,使用實(shí)時通信技術(shù)來保證仿真數(shù)據(jù)的實(shí)時傳遞,使用仿真時間管理策略來控制仿真的正確進(jìn)行,從而實(shí)現(xiàn)了在通信網(wǎng)絡(luò)仿真工具進(jìn)行仿真的過程中通過實(shí)時視景顯示平臺實(shí)時查看仿真情況和仿真結(jié)果。
文檔編號H04L12/26GK101060537SQ20071009996
公開日2007年10月24日 申請日期2007年6月1日 優(yōu)先權(quán)日2007年6月1日
發(fā)明者丁凡, 熊華鋼 申請人:北京航空航天大學(xué)