一種自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置及方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及網(wǎng)絡(luò)仿真自動(dòng)化技術(shù)領(lǐng)域,具體涉及一種自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置及方法。
【背景技術(shù)】
[0002]基于NS2 (Network Simulator vers1n 2, 一種針對(duì)網(wǎng)絡(luò)技術(shù)的源代碼公開(kāi)的、免費(fèi)的軟件模擬平臺(tái))的網(wǎng)絡(luò)仿真技術(shù)是一種快捷的、低成本的網(wǎng)絡(luò)研究方法,通過(guò)軟件化的方法構(gòu)建出網(wǎng)絡(luò)場(chǎng)景并按照設(shè)計(jì)出的指定協(xié)議運(yùn)行,并記錄網(wǎng)絡(luò)運(yùn)行過(guò)程中數(shù)據(jù)包流向等信息,然后對(duì)這些記錄信息進(jìn)行分析從而達(dá)到網(wǎng)絡(luò)研究的目的。
[0003]現(xiàn)有的NS2網(wǎng)絡(luò)仿真場(chǎng)景的構(gòu)建比較復(fù)雜和繁瑣,仿真腳本編寫(xiě)效率低下,而且很容易出錯(cuò)。
【發(fā)明內(nèi)容】
[0004]有鑒于此,本發(fā)明實(shí)施例提供一種自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置及方法,以簡(jiǎn)化NS2網(wǎng)絡(luò)仿真場(chǎng)景的構(gòu)建過(guò)程,讓研究人員更專(zhuān)注于網(wǎng)絡(luò)本身的研究。
[0005]第一方面,本發(fā)明實(shí)施例提供了一種自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置,包括:
[0006]輸入模塊,用于接收仿真參數(shù)并將其發(fā)送至對(duì)象創(chuàng)建模塊;
[0007]對(duì)象創(chuàng)建模塊,用于接收所述仿真參數(shù),根據(jù)所接收的仿真參數(shù)創(chuàng)建網(wǎng)絡(luò)仿真對(duì)象;
[0008]腳本生成模塊,用于根據(jù)所述網(wǎng)絡(luò)仿真對(duì)象生成網(wǎng)絡(luò)仿真腳本。第二方面,本發(fā)明實(shí)施例還提供了一種自動(dòng)生成網(wǎng)絡(luò)仿真腳本的方法,包括:
[0009]接收仿真參數(shù);
[0010]根據(jù)所接收的仿真參數(shù)創(chuàng)建網(wǎng)絡(luò)仿真對(duì)象;
[0011]根據(jù)所述網(wǎng)絡(luò)仿真對(duì)象生成網(wǎng)絡(luò)仿真腳本。本發(fā)明實(shí)施例通過(guò)根據(jù)所接收的仿真參數(shù)創(chuàng)建網(wǎng)絡(luò)仿真對(duì)象,根據(jù)所述網(wǎng)絡(luò)仿真對(duì)象生成網(wǎng)絡(luò)仿真腳本,能自動(dòng)生成網(wǎng)絡(luò)仿真腳本,降低了研究人員在進(jìn)行網(wǎng)絡(luò)仿真研究時(shí)仿真腳本編寫(xiě)的復(fù)雜度,降低了編程和錯(cuò)誤率,提高了仿真效率。
【附圖說(shuō)明】
[0012]為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)本發(fā)明實(shí)施例描述中所需要使用的附圖作簡(jiǎn)單的介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)本發(fā)明實(shí)施例的內(nèi)容和這些附圖獲得其他的附圖。
[0013]圖1是本發(fā)明實(shí)施例一所述的自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置的結(jié)構(gòu)框圖;
[0014]圖2是本發(fā)明實(shí)施例一的示例性部署圖;
[0015]圖3是示是本發(fā)明實(shí)施例一所示的網(wǎng)絡(luò)仿真模型的部分類(lèi)圖;
[0016]圖4是本發(fā)明實(shí)施例二所述的自動(dòng)生成網(wǎng)絡(luò)仿真腳本的方法流程圖;
[0017]圖5是本發(fā)明實(shí)施例三所述的自動(dòng)生成網(wǎng)絡(luò)仿真腳本的方法流程圖。
【具體實(shí)施方式】
[0018]為使本發(fā)明解決的技術(shù)問(wèn)題、采用的技術(shù)方案和達(dá)到的技術(shù)效果更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0019]下面結(jié)合附圖并通過(guò)【具體實(shí)施方式】來(lái)進(jìn)一步說(shuō)明本發(fā)明的技術(shù)方案。
[0020]實(shí)施例一
[0021]圖1是本發(fā)明實(shí)施例一提供的自動(dòng)生成網(wǎng)絡(luò)仿真腳本裝置的結(jié)構(gòu)圖,如圖1所示,本實(shí)施例所述的自動(dòng)生成網(wǎng)絡(luò)仿真腳本的裝置包括:輸入模塊101,對(duì)象創(chuàng)建模塊102,以及腳本生成模塊103。
[0022]輸入模塊101,用于接收仿真參數(shù)并將其發(fā)送至對(duì)象創(chuàng)建模塊102 ;
[0023]對(duì)象創(chuàng)建模塊102,用于接收所述仿真參數(shù),根據(jù)所接收的仿真參數(shù)創(chuàng)建網(wǎng)絡(luò)仿真對(duì)象;
[0024]腳本生成模塊103,用于根據(jù)所述網(wǎng)絡(luò)仿真對(duì)象生成網(wǎng)絡(luò)仿真腳本。
[0025]輸入模塊101作為與用戶之間的接口,用戶可以通過(guò)輸入模塊101輸入所需的仿真參數(shù),輸入模塊101將用戶所輸入端仿真參數(shù)發(fā)送給對(duì)象創(chuàng)建模塊102。
[0026]示例性地,所述輸入模塊101可采用模型(model)—視圖(view)—控制器(controller)方式(即MVC方式)來(lái)構(gòu)建。所述輸入模塊101具體包括:視圖子模塊1011、數(shù)據(jù)子模塊1012和控制器子模塊1013。
[0027]其中:
[0028]視圖子模塊1011,用于通過(guò)可視化操作界面接收用戶輸入的仿真參數(shù);
[0029]數(shù)據(jù)子模塊1012,用于記錄視圖子模塊所接收到的仿真參數(shù);
[0030]控制器子模塊1013,用于響應(yīng)于用戶的輸入操作,將數(shù)據(jù)子模塊1012記錄的所述仿真參數(shù)發(fā)送至對(duì)象創(chuàng)建模塊。
[0031]具體地,視圖子模塊1011向用戶提供可視化的操作界面(如圖形用戶界面GUI),在該操作界面上展示后續(xù)仿真腳本創(chuàng)建所需要的仿真參數(shù)信息并提供相應(yīng)的輸入域,用戶根據(jù)該界面上的信息指示向輸入域中輸入相應(yīng)的仿真參數(shù)數(shù)據(jù)。所述數(shù)據(jù)子模塊1012將視圖子模塊1011所接收到的仿真參數(shù)記錄下來(lái),在必要時(shí),還可以對(duì)所接收的仿真參數(shù)進(jìn)行相應(yīng)的預(yù)處理,例如對(duì)用戶輸入的仿真參數(shù)進(jìn)行初步檢查,判斷其是否在有效范圍內(nèi)或者格式是否允許;將參數(shù)數(shù)據(jù)轉(zhuǎn)換成指定的數(shù)據(jù)格式,等等。所述控制器子模塊1013響應(yīng)于用戶的輸入操作,將數(shù)據(jù)子模塊1012所記錄或經(jīng)過(guò)進(jìn)一步預(yù)處理的仿真參數(shù)通過(guò)指定的網(wǎng)絡(luò)數(shù)據(jù)傳輸協(xié)議發(fā)送至對(duì)象創(chuàng)建模塊102,其中,優(yōu)選通過(guò)用戶數(shù)據(jù)報(bào)協(xié)議UDP來(lái)發(fā)送所述仿真參數(shù)。
[0032]通過(guò)上述MVC方式構(gòu)建的所述輸入模塊101具有良好的可擴(kuò)展性,數(shù)據(jù)、用戶操作和控制之間處于松耦合狀態(tài),各自可以獨(dú)立修改和改進(jìn),互不影響,便于維護(hù)。在具體實(shí)現(xiàn)時(shí)可以采用任何現(xiàn)有的編程技術(shù),例如JavaScript和Java、C#等,本實(shí)施例對(duì)此不作限制。
[0033]對(duì)象創(chuàng)建模塊102,用于接收所述仿真參數(shù),并根據(jù)所接收的仿真參數(shù)創(chuàng)建網(wǎng)絡(luò)仿真對(duì)象。
[0034]通過(guò)網(wǎng)絡(luò)仿真對(duì)象的方式來(lái)模擬和表示實(shí)際網(wǎng)絡(luò)通信環(huán)境中的網(wǎng)絡(luò)對(duì)象,從而可以簡(jiǎn)潔方便地利用現(xiàn)有的自動(dòng)化計(jì)算工具對(duì)實(shí)際網(wǎng)絡(luò)通信環(huán)境進(jìn)行模擬分析,大大降低了網(wǎng)絡(luò)分析的工作量,并且網(wǎng)絡(luò)分析的精確度也得到了大幅的提高。具體而言,與實(shí)際網(wǎng)絡(luò)通信環(huán)境相對(duì)應(yīng)地,所述對(duì)象創(chuàng)建模塊102創(chuàng)建的網(wǎng)絡(luò)仿真對(duì)象包括:仿真場(chǎng)景對(duì)象、網(wǎng)絡(luò)元素對(duì)象。
[0035]其中,所述仿真場(chǎng)景對(duì)象用于對(duì)網(wǎng)絡(luò)通信的不同場(chǎng)景進(jìn)行模擬和仿真,可以包括以下一項(xiàng)或多項(xiàng):無(wú)線網(wǎng)絡(luò)場(chǎng)景對(duì)象、有線網(wǎng)絡(luò)場(chǎng)景對(duì)象、衛(wèi)星網(wǎng)絡(luò)場(chǎng)景對(duì)象,分別對(duì)無(wú)線通信場(chǎng)景、有線通信場(chǎng)景和通過(guò)衛(wèi)星網(wǎng)絡(luò)進(jìn)行通信的場(chǎng)景進(jìn)行仿真。從技術(shù)的本質(zhì)上來(lái)看,衛(wèi)星網(wǎng)絡(luò)通信可視為無(wú)線通信的一種特例,但是從通信領(lǐng)域常見(jiàn)的分類(lèi)觀點(diǎn)來(lái)看,無(wú)線通信通常包括手機(jī)等移動(dòng)終端的地面基站通信、紅外、藍(lán)牙、WIFI等近距離通信方式,而將更廣范圍的衛(wèi)星網(wǎng)絡(luò)通信作為一個(gè)單獨(dú)的類(lèi)別來(lái)看待。本發(fā)明中沿用通信領(lǐng)域的慣例來(lái)對(duì)通信場(chǎng)景進(jìn)行分類(lèi)。
[0036]所述網(wǎng)絡(luò)元素對(duì)象用于對(duì)網(wǎng)絡(luò)通信環(huán)境下所涉及到的各種網(wǎng)絡(luò)元素進(jìn)行模擬。具體而言,所述網(wǎng)絡(luò)元素對(duì)象包括以下至少一項(xiàng):網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)象、鏈路對(duì)象、協(xié)議代理對(duì)象、流量發(fā)生器對(duì)象。其中,網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)象用于表示通信線路中的網(wǎng)絡(luò)傳輸或轉(zhuǎn)發(fā)節(jié)點(diǎn),可以包括以下至少一項(xiàng):衛(wèi)星對(duì)象(Sat)、終端對(duì)象(Terminal)、關(guān)口對(duì)象(Hub);所述協(xié)議代理對(duì)象用于表示網(wǎng)絡(luò)通信采用何種類(lèi)型的協(xié)議代理,具體包括以下至少一項(xiàng):UDP協(xié)議代理對(duì)象、TCP協(xié)議代理對(duì)象,當(dāng)然,此處僅是