專利名稱::一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的網(wǎng)絡(luò)仿真方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及一種網(wǎng)絡(luò)仿真方法,尤其是一種基于事件的網(wǎng)絡(luò)仿真器來仿真實(shí)時(shí)業(yè)務(wù)主觀效果的方法及系統(tǒng),屬于網(wǎng)絡(luò)仿真領(lǐng)域。
背景技術(shù):
:網(wǎng)絡(luò)仿真方法在網(wǎng)絡(luò)設(shè)計(jì)及性能分析的研究中得到廣泛應(yīng)用。它有效地解決了網(wǎng)絡(luò)研究中實(shí)際組網(wǎng)實(shí)驗(yàn)依賴硬件設(shè)備、耗時(shí)耗力、場景再現(xiàn)和結(jié)果分析難等問題。網(wǎng)絡(luò)仿真方法使網(wǎng)絡(luò)研究更加快捷而有效。目前普遍采用的網(wǎng)絡(luò)仿真器有0PNET和NS2等。目前,新的網(wǎng)絡(luò)不斷出現(xiàn),新網(wǎng)絡(luò)提供數(shù)據(jù)、語音、視頻等多媒體業(yè)務(wù)。評(píng)價(jià)網(wǎng)絡(luò)協(xié)議的性能,一般用吞吐率、分組延遲、丟包率等參數(shù)來描述。用0PNET產(chǎn)生標(biāo)量統(tǒng)計(jì)量、矢量統(tǒng)計(jì)量以及動(dòng)畫等三種類型的數(shù)據(jù)。在仿真前,定義仿真的統(tǒng)計(jì)參數(shù),例如丟包率、端到端平均延遲等;在仿真后,通過建立吞吐量-負(fù)載、端到端平均時(shí)延-吞吐量之間的關(guān)系進(jìn)行分析。NS2仿真器的層次結(jié)構(gòu)如圖1,可模擬的業(yè)務(wù)應(yīng)用層分為流量發(fā)生器(trafficgenerator)和應(yīng)用模擬器(simulatedapplication)兩大類,一般地,流量發(fā)生器在UDP代理上,應(yīng)用模擬器在TCP代理上。用NS2仿真,仿真結(jié)束后,仿真結(jié)果保存在文件trace中,包括每個(gè)結(jié)點(diǎn)對(duì)每個(gè)包的發(fā)送、接收、轉(zhuǎn)發(fā)、丟棄等操作,而對(duì)仿真結(jié)果的分析都基于trace文件。通過目前的仿真工具0PNET和NS2仿真,對(duì)于語音、視頻等實(shí)時(shí)業(yè)務(wù),也只能給出網(wǎng)絡(luò)性能的統(tǒng)計(jì)結(jié)果,不提供某個(gè)網(wǎng)絡(luò)仿真場景下的語音傳輸效果。然而,網(wǎng)絡(luò)提供的語音業(yè)務(wù)性能,人們更關(guān)注主觀感受效果,這一概念被稱為"感受質(zhì)量"(QualityofExperience,QoE)。為了在仿真環(huán)境下分析VoIP(IP電話)業(yè)務(wù)的傳輸效果,有學(xué)者提出采用Emodel來改進(jìn)NS2。Emodel是一個(gè)由ITU-T(國際電信聯(lián)盟)建立的計(jì)算模型,該模型定義了一個(gè)質(zhì)量因子R值來捕獲說到聽的語音延遲(mouth-to-eardelay)和分組交換過程中的丟包。根據(jù)不同的R值找到其對(duì)應(yīng)的MOS(MeanOpinionScore平均評(píng)價(jià)得分),而MOS值又可轉(zhuǎn)換成對(duì)應(yīng)的主觀感受的語音質(zhì)量。該方法擴(kuò)展了NS2,增加一種VoIP業(yè)務(wù),并定義了描述VoIP業(yè)務(wù)效果的參數(shù),通過計(jì)算可得到MOS值。但是,用MOS值評(píng)估語音效果依然是抽象的。
發(fā)明內(nèi)容本發(fā)明的技術(shù)方案概述如下一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的網(wǎng)絡(luò)仿真方法,包括以下步驟1)將需要傳輸?shù)膶?shí)時(shí)業(yè)務(wù)數(shù)據(jù)記錄下來,存為一個(gè)文件;2)設(shè)置網(wǎng)絡(luò)場景,對(duì)實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)運(yùn)行仿真,得到仿真結(jié)果輸出文件;3)根據(jù)仿真結(jié)果輸出文件中發(fā)送包與接收包之間的映射關(guān)系,將記錄下來的實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)文件映射成接收端業(yè)務(wù)數(shù)據(jù)文件;4)播放接收端業(yè)務(wù)數(shù)據(jù)文件,得到實(shí)時(shí)業(yè)務(wù)的主觀效果。一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的仿真系統(tǒng),通過在基于事件的仿真系統(tǒng)外增加一層業(yè)務(wù)產(chǎn)生模塊來實(shí)現(xiàn),如圖2。該模塊用于記錄仿真前的業(yè)務(wù)輸入數(shù)據(jù)文件,以及產(chǎn)生經(jīng)過仿真網(wǎng)絡(luò)輸出的業(yè)務(wù)數(shù)據(jù)文件。通過播放輸出業(yè)務(wù)數(shù)據(jù)文件中的數(shù)據(jù),用戶可以感受網(wǎng)絡(luò)仿真場景中實(shí)時(shí)業(yè)務(wù)的傳輸效果。該業(yè)務(wù)產(chǎn)生模塊上有數(shù)字化音頻或視頻接口,用于接入聲卡或視頻采集卡來采集實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)。生成仿真場景中的發(fā)送端業(yè)務(wù)數(shù)據(jù)文件首先,將期望發(fā)送的數(shù)據(jù)記錄成一個(gè)文件。先將期望傳輸?shù)膶?shí)時(shí)業(yè)務(wù)數(shù)據(jù)記錄下來,存為一個(gè)文件。在仿真前,按照發(fā)送的實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)格式以及業(yè)務(wù)產(chǎn)生速率等,設(shè)置仿真中的業(yè)務(wù)格式,以生成網(wǎng)絡(luò)場景。以此模擬在仿真場景中的實(shí)時(shí)業(yè)務(wù)傳輸過程。所述的實(shí)時(shí)業(yè)務(wù)為語音或視頻,采用基于事件的網(wǎng)絡(luò)仿真器進(jìn)行仿真,得到仿真結(jié)果輸出文件。生成仿真場景中接收端業(yè)務(wù)數(shù)據(jù)文件根據(jù)仿真結(jié)果,將發(fā)送端業(yè)務(wù)數(shù)據(jù)映射成接收端業(yè)務(wù)數(shù)據(jù)文件,以語音業(yè)務(wù)為例,如圖3所示。具體方法為根據(jù)仿真記錄的發(fā)送包P("m,/,…)中攜帶語音數(shù)據(jù)的大小Z"等于包長7減去包頭長度),將發(fā)送業(yè)務(wù)數(shù)據(jù)分成長度為z的帶有序號(hào)語音塊s(^,m,i:,…),其中,i為序號(hào),t為產(chǎn)生業(yè)務(wù)包的時(shí)刻,m為業(yè)務(wù)數(shù)據(jù),L為數(shù)據(jù)長度;在仿真結(jié)果輸出文件中,找到接收端包P'a,',m',/',…);根據(jù)發(fā)送包P("/n,/,…)與接收包P力,/,m',/',…)之間的映射關(guān)系,得到接收端語音塊S'(!',"m,£',)及其順序;將收到的語音塊按序號(hào)重新組合,得到接收端語音文件。所述的發(fā)送包與接收包之間的映射關(guān)系通過提取發(fā)送包序號(hào)和發(fā)送時(shí)刻,存至文件1;提取接收包序號(hào)以及接收時(shí)刻,存至文件2,對(duì)比文件1和2得到它們之間的映射關(guān)系。通過播放接收端語音文件,感受該仿真場景中網(wǎng)絡(luò)傳輸?shù)恼Z音效果。與現(xiàn)有技術(shù)相比,本發(fā)明的方法有效地?cái)U(kuò)展了網(wǎng)絡(luò)仿真系統(tǒng)的功能,將網(wǎng)絡(luò)仿真方法更好地用于研究提供實(shí)時(shí)業(yè)務(wù)的網(wǎng)絡(luò)。通過設(shè)置不同網(wǎng)絡(luò)仿真場景,則可以獲得對(duì)應(yīng)網(wǎng)絡(luò)場景下實(shí)時(shí)業(yè)務(wù)實(shí)際傳輸效果,由人們感知實(shí)時(shí)業(yè)務(wù)的主觀效果。用于提供實(shí)時(shí)業(yè)務(wù)的網(wǎng)絡(luò)協(xié)議設(shè)計(jì)、性能測試等研究工作。圖1為NS2網(wǎng)絡(luò)仿真器中代理與應(yīng)用層的關(guān)系圖la流量發(fā)生器在UDP代理上圖lb應(yīng)用模擬器在TCP代理上圖2為加入業(yè)務(wù)產(chǎn)生模塊的仿真系統(tǒng)圖3為收發(fā)雙方語音包對(duì)應(yīng)關(guān)系圖4為語音數(shù)據(jù)采集程序流程圖圖5為trace文件內(nèi)容及格式圖6為NS2中規(guī)定的包頭結(jié)構(gòu)圖7為生成接收端語音文件的程序流程圖具體實(shí)施例方式下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)描述以語音業(yè)務(wù)為例,利用NS2仿真輸出文件trace,提取發(fā)送語音包與接收語音包之間的映射關(guān)系,將原始語音文件,例如命名為originsound,映射成接收語音文件,例如命名為newsouncLNS2網(wǎng)絡(luò)模擬中,分組(Packet)是對(duì)象間交互的基本單元,由一系列分組頭和一個(gè)可選的數(shù)據(jù)空間組成,如圖6所示。每個(gè)分組有一個(gè)common頭,其中的分組標(biāo)識(shí)uid—,由發(fā)送端產(chǎn)生而在傳輸過程中保持不變。Trace文件中-Ii域即是uid—,它是發(fā)送端包P(/,/,m,/,…)序號(hào)i,通過i建立與接收包P'(/,/,附',/',…)的對(duì)應(yīng)關(guān)系。將原始語音文件originsound按發(fā)送包P(!V,m,/,…)中攜帶語音數(shù)據(jù)大小,分成長度為ZU等于包長7減去包頭長度)的語音塊S(zV,w,丄,…),根據(jù)P(zV,m,/,…)和P'(W,/',…)的映射關(guān)系,得到接收語音塊S'(/,m',/;,…)及其順序,將收到的語音塊按序號(hào)重新組合,從而得到接收語音文件newsound。實(shí)現(xiàn)該方法分以下幾個(gè)操作步驟1、通過業(yè)務(wù)產(chǎn)生模塊接入的聲卡采集原始語音數(shù)據(jù),按G.711編碼,保存為文件originsound,實(shí)現(xiàn)該功能的算法流程如圖4。2、設(shè)置網(wǎng)絡(luò)場景,運(yùn)行仿真,得到仿真過程文件trace。例如,Ns結(jié)點(diǎn)發(fā)送,Nr結(jié)點(diǎn)接收,trace文件內(nèi)容樣例如圖5,其每行保存了每個(gè)包每次操作記錄,其中的各字段含義見下表。<table>tableseeoriginaldocumentpage6</column></row><table>表2trace文件格式說明3、由業(yè)務(wù)產(chǎn)生模塊處理trace文件,提取發(fā)送語音包序號(hào)和發(fā)送時(shí)刻,存至文件1.tr;提取收到的語音包序號(hào)以及接收時(shí)刻,存至文件2.tr。處理程序的腳本用awk命令編寫,提取-Hd字段為—Ns_,-O字段為s記錄中的-t和-Ii字段,寫入文件l.tr;提取-Hd字段為—Nr—,-O字段為s記錄中的-t和-Ii字段,寫入文件2.tr。這樣,得到了發(fā)送端Ns結(jié)點(diǎn)發(fā)送包序號(hào)與時(shí)間記錄1.tr,以及接收端Nr結(jié)點(diǎn)接收包序號(hào)及時(shí)間記錄2.tr。4、根據(jù)文件l.tr到文件2.tr各收發(fā)包的映射關(guān)系,將originsound中語音數(shù)據(jù),根據(jù)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)包大小,映射成新文件newsound。實(shí)現(xiàn)該功能的算法流程圖如圖7。通過聲卡播放newsound文件中的數(shù)據(jù),得到經(jīng)過仿真網(wǎng)絡(luò)傳輸?shù)恼Z音效果。權(quán)利要求1、一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的網(wǎng)絡(luò)仿真方法,包括以下步驟1)將需要傳輸?shù)膶?shí)時(shí)業(yè)務(wù)數(shù)據(jù)記錄下來,存為一個(gè)文件;2)設(shè)置網(wǎng)絡(luò)場景,對(duì)實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)運(yùn)行仿真,得到仿真結(jié)果輸出文件;3)根據(jù)仿真結(jié)果輸出文件中發(fā)送包與接收包之間的映射關(guān)系,將記錄下來的實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)文件映射成接收端業(yè)務(wù)數(shù)據(jù)文件;4)播放接收端業(yè)務(wù)數(shù)據(jù)文件,得到實(shí)時(shí)業(yè)務(wù)的主觀效果。2、如權(quán)利要求l所述的方法,其特征在于,所述步驟l)實(shí)時(shí)業(yè)務(wù)為語音或視頻。3、如權(quán)利要求l所述的方法,其特征在于,所述步驟l)采用聲卡或視頻采集卡記錄實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)。4、如權(quán)利要求l所述的方法,其特征在于,所述步驟2)按照發(fā)送的實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)格式以及業(yè)務(wù)產(chǎn)生速率,設(shè)置仿真中的業(yè)務(wù)格式,以生成網(wǎng)絡(luò)場景。5、如權(quán)利要求l所述的方法,其特征在于,所述步驟3)通過提取發(fā)送包序號(hào)和發(fā)送時(shí)刻,存至文件l;提取接收包序號(hào)以及接收時(shí)刻,存至文件2,對(duì)比文件1和2得到收發(fā)包之間的映射關(guān)系。6、如權(quán)利要求l所述的方法,其特征在于,所述步驟3)根據(jù)發(fā)送包中攜帶實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)的大小,分成長度為A的數(shù)據(jù)塊;根據(jù)發(fā)送包與接收包之間的映射關(guān)系,在仿真結(jié)果輸出文件中,找到接收端包,得到接收端的數(shù)據(jù)塊及其順序,將收到的數(shù)據(jù)塊重新組合,得到接收端業(yè)務(wù)數(shù)據(jù)文件。7、一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的網(wǎng)絡(luò)仿真系統(tǒng),包括基于事件的仿真器,其特征在于,增加一業(yè)務(wù)產(chǎn)生模塊,該模塊用于記錄仿真前的業(yè)務(wù)輸入數(shù)據(jù)文件,以及處理仿真結(jié)果輸出文件,產(chǎn)生經(jīng)過仿真網(wǎng)絡(luò)輸出的業(yè)務(wù)數(shù)據(jù)文件。8、如權(quán)利要求7所述的系統(tǒng),其特征在于,所述業(yè)務(wù)產(chǎn)生模塊上有數(shù)字化音頻或視頻接口設(shè)備。9、如權(quán)利要求7所述的方法,其特征在于,所述基于事件的仿真器為NS2。全文摘要本發(fā)明公開了一種獲得實(shí)時(shí)業(yè)務(wù)主觀效果的網(wǎng)絡(luò)仿真方法及系統(tǒng),屬于網(wǎng)絡(luò)仿真領(lǐng)域,包括以下步驟1)將需要傳輸?shù)膶?shí)時(shí)業(yè)務(wù)數(shù)據(jù)記錄下來,存為一個(gè)文件;2)設(shè)置網(wǎng)絡(luò)場景,對(duì)實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)運(yùn)行仿真,得到仿真結(jié)果輸出文件;3)根據(jù)仿真結(jié)果輸出文件中發(fā)送包與接收包之間的映射關(guān)系,將記錄下來的實(shí)時(shí)業(yè)務(wù)數(shù)據(jù)文件映射成接收端業(yè)務(wù)數(shù)據(jù)文件;4)播放接收端業(yè)務(wù)數(shù)據(jù)文件,得到實(shí)時(shí)業(yè)務(wù)的主觀效果。本發(fā)明通過在仿真系統(tǒng)中增加一業(yè)務(wù)產(chǎn)生模塊來實(shí)現(xiàn)。本發(fā)明通過設(shè)置不同網(wǎng)絡(luò)仿真場景,可以獲得對(duì)應(yīng)網(wǎng)絡(luò)場景下實(shí)時(shí)業(yè)務(wù)的傳輸效果,由人們感知實(shí)時(shí)業(yè)務(wù)的主觀效果。文檔編號(hào)H04L12/26GK101662392SQ20081011940公開日2010年3月3日申請(qǐng)日期2008年8月29日優(yōu)先權(quán)日2008年8月29日發(fā)明者劉志敏,徐穎清,謝姣穎申請(qǐng)人:北京大學(xué)