本發(fā)明屬于數(shù)據(jù)鏈網(wǎng)絡(luò)技術(shù)領(lǐng)域,涉及數(shù)據(jù)鏈網(wǎng)絡(luò)鏈路沖突的實(shí)時(shí)仿真方法。
背景技術(shù):
隨著信息技術(shù)的廣泛應(yīng)用,數(shù)據(jù)鏈已經(jīng)成為復(fù)雜戰(zhàn)場(chǎng)環(huán)境下為多平臺(tái)聯(lián)合作戰(zhàn)提供可靠高效的信息保障的網(wǎng)絡(luò)化信息系統(tǒng)。與此同時(shí),系統(tǒng)網(wǎng)絡(luò)規(guī)模不斷擴(kuò)大,網(wǎng)絡(luò)協(xié)議設(shè)計(jì)日趨復(fù)雜,其功能和性能已無法通過小規(guī)模的實(shí)物試驗(yàn)來進(jìn)行充分驗(yàn)證。利用網(wǎng)絡(luò)仿真進(jìn)行驗(yàn)證成為了可行的解決方案。
傳統(tǒng)的網(wǎng)絡(luò)仿真可以分為實(shí)時(shí)仿真和非實(shí)時(shí)仿真兩種。實(shí)時(shí)網(wǎng)絡(luò)仿真一般采用半實(shí)物方式,仿真軟件負(fù)責(zé)上層測(cè)試業(yè)務(wù)收發(fā)和統(tǒng)計(jì),底層的消息收發(fā)由實(shí)裝設(shè)備完成,此種方法受限于實(shí)裝設(shè)備數(shù)量,難以支撐大規(guī)模網(wǎng)絡(luò)仿真。非實(shí)時(shí)仿真一般需要在仿真前設(shè)定仿真場(chǎng)景和業(yè)務(wù)模型,由仿真程序獨(dú)立完成仿真過程并輸出結(jié)果,在仿真過程中不能進(jìn)行人為干預(yù),無法支持網(wǎng)絡(luò)運(yùn)行過程中的動(dòng)態(tài)調(diào)整和調(diào)試。為克服以上不足,需要設(shè)計(jì)實(shí)現(xiàn)不依賴實(shí)物的實(shí)時(shí)仿真方法,其核心問題,就是如何實(shí)現(xiàn)鏈路沖突的實(shí)時(shí)仿真。
技術(shù)實(shí)現(xiàn)要素:
為了克服現(xiàn)有技術(shù)的不足,本發(fā)明提供一種基于事件的鏈路沖突實(shí)時(shí)仿真方法,當(dāng)網(wǎng)絡(luò)節(jié)點(diǎn)發(fā)送消息時(shí),利用進(jìn)程間通信方式將消息內(nèi)容和附加信息(消息發(fā)送起始時(shí)刻、本節(jié)點(diǎn)地理位置)一并廣播至網(wǎng)內(nèi)全部節(jié)點(diǎn);該消息目的接收節(jié)點(diǎn)收到此消息后,添加消息接收事件,根據(jù)消息內(nèi)容和附加信息計(jì)算出實(shí)際完成接收的時(shí)間,設(shè)置此時(shí)刻到時(shí)的定時(shí)器,并繼續(xù)接收并記錄其他節(jié)點(diǎn)廣播的消息;當(dāng)定時(shí)器到時(shí),接收節(jié)點(diǎn)將該消息以及與其傳輸時(shí)間有重疊的其他消息的波形進(jìn)行疊加,再遞交至接收處理流程進(jìn)行處理。
本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案包括以下步驟:
1)網(wǎng)絡(luò)節(jié)點(diǎn)A準(zhǔn)備向網(wǎng)絡(luò)節(jié)點(diǎn)B發(fā)送消息MAB,讀取消息發(fā)送起始時(shí)刻ts和本節(jié)點(diǎn)地理位置信息PA共同作為附加信息MA,與待發(fā)送消息MAB一并作為待發(fā)送信息IAB;
2)網(wǎng)絡(luò)節(jié)點(diǎn)A通過進(jìn)程間通信方式將待發(fā)送信息IAB廣播至全網(wǎng)成員;
3)網(wǎng)內(nèi)除節(jié)點(diǎn)A以外的其他網(wǎng)絡(luò)節(jié)點(diǎn)接收到信息IAB后,將信息IAB存儲(chǔ)在本地;網(wǎng)絡(luò)節(jié)點(diǎn)B從信息IAB中提取出消息MAB,發(fā)現(xiàn)自身為消息目的接收節(jié)點(diǎn),繼續(xù)提取消息發(fā)送起始時(shí)刻ts和節(jié)點(diǎn)A地理位置信息PA,利用節(jié)點(diǎn)A地理位置信息PA和節(jié)點(diǎn)B地理位置信息PB計(jì)算出節(jié)點(diǎn)A和節(jié)點(diǎn)B之間的距離LAB,結(jié)合消息長(zhǎng)度LM、系統(tǒng)仿真鏈路傳輸速率R,計(jì)算出消息仿真鏈路傳播時(shí)延和仿真鏈路傳輸時(shí)延c為光速,最終計(jì)算出該消息接收時(shí)刻tr=ts+τ+T;其他網(wǎng)絡(luò)節(jié)點(diǎn)從信息IAB中提取出消息MAB,發(fā)現(xiàn)自身不是消息目的接收節(jié)點(diǎn),則將IAB存儲(chǔ)于本地;
4)網(wǎng)絡(luò)節(jié)點(diǎn)B添加消息接收事件,創(chuàng)建定時(shí)器,觸發(fā)時(shí)刻設(shè)置為tr;在tr時(shí)刻到達(dá)之前繼續(xù)接收記錄網(wǎng)內(nèi)節(jié)點(diǎn)發(fā)送的廣播消息;
5)tr時(shí)刻到達(dá),網(wǎng)絡(luò)節(jié)點(diǎn)B定時(shí)器到時(shí),消息接收事件被觸發(fā),查找本地接收消息記錄中,所有發(fā)送時(shí)間與消息MAB有重疊的消息,根據(jù)發(fā)送時(shí)間和距離,將其與MAB的波形進(jìn)行疊加,形成復(fù)原的波形WAB;
6)將波形WAB遞交至物理層接收處理流程,完成消息MAB的接收過程。
本發(fā)明的有益效果是:實(shí)現(xiàn)了鏈路沖突的實(shí)時(shí)仿真,使消息在實(shí)際完成接收的時(shí)刻,以實(shí)際的接收波形被遞交至接收節(jié)點(diǎn)的接收流程,對(duì)于各個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)與真實(shí)環(huán)境沒有差別。利用本方法,可以實(shí)現(xiàn)大規(guī)模網(wǎng)絡(luò)系統(tǒng)的精確實(shí)時(shí)仿真,同時(shí)支持網(wǎng)絡(luò)的動(dòng)態(tài)調(diào)整和調(diào)試。
附圖說明
圖1為本發(fā)明的原理示意圖。
圖2為本發(fā)明的方法流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本發(fā)明進(jìn)一步說明,本發(fā)明包括但不僅限于下述實(shí)施例。
本發(fā)明包括以下步驟:
1)網(wǎng)絡(luò)節(jié)點(diǎn)A準(zhǔn)備向網(wǎng)絡(luò)節(jié)點(diǎn)B發(fā)送消息MAB,讀取消息發(fā)送起始時(shí)刻ts和本節(jié)點(diǎn)地理位置信息PA共同作為附加信息MA,與待發(fā)送消息MAB一并作為待發(fā)送信息IAB。
2)網(wǎng)絡(luò)節(jié)點(diǎn)A通過進(jìn)程間通信方式(例如套接字、管道和共享內(nèi)存),將待發(fā)送信息IAB廣播至全網(wǎng)成員。
3)網(wǎng)內(nèi)除節(jié)點(diǎn)A以外的其他網(wǎng)絡(luò)節(jié)點(diǎn)接收到信息IAB后,將信息IAB存儲(chǔ)在本地。網(wǎng)絡(luò)節(jié)點(diǎn)B從信息IAB中提取出消息MAB,發(fā)現(xiàn)自身為消息目的接收節(jié)點(diǎn),繼續(xù)提取消息發(fā)送起始時(shí)刻ts和節(jié)點(diǎn)A地理位置信息PA,利用節(jié)點(diǎn)A地理位置信息PA和節(jié)點(diǎn)B地理位置信息PB計(jì)算出節(jié)點(diǎn)A和節(jié)點(diǎn)B之間的距離LAB,結(jié)合消息長(zhǎng)度LM、系統(tǒng)仿真鏈路傳輸速率R,計(jì)算出消息仿真鏈路傳播時(shí)延(c為光速)和仿真鏈路傳輸時(shí)延最終計(jì)算出該消息接收時(shí)刻tr=ts+τ+T。其他網(wǎng)絡(luò)節(jié)點(diǎn)從信息IAB中提取出消息MAB,發(fā)現(xiàn)自身不是消息目的接收節(jié)點(diǎn),則將IAB存儲(chǔ)于本地。
4)網(wǎng)絡(luò)節(jié)點(diǎn)B添加消息接收事件,創(chuàng)建定時(shí)器,觸發(fā)時(shí)刻設(shè)置為tr。在tr時(shí)刻到達(dá)之前繼續(xù)接收記錄網(wǎng)內(nèi)節(jié)點(diǎn)發(fā)送的廣播消息。
5)tr時(shí)刻到達(dá),網(wǎng)絡(luò)節(jié)點(diǎn)B定時(shí)器到時(shí),消息接收事件被觸發(fā),查找本地接收消息記錄中,所有發(fā)送時(shí)間與消息MAB有重疊的消息,根據(jù)發(fā)送時(shí)間和距離,將其與MAB的波形進(jìn)行疊加,形成復(fù)原的波形WAB。
6)將波形WAB遞交至物理層接收處理流程,完成消息MAB的接收過程。
圖2為本發(fā)明基于事件的鏈路沖突實(shí)時(shí)仿真方法流程圖,下面結(jié)合附圖1、附圖2對(duì)本發(fā)明的實(shí)施方式進(jìn)行進(jìn)一步說明。仿真程序運(yùn)行在一臺(tái)計(jì)算機(jī)上,各節(jié)點(diǎn)時(shí)間統(tǒng)一使用計(jì)算機(jī)時(shí)間。假設(shè)網(wǎng)內(nèi)有三個(gè)節(jié)點(diǎn)A、B、C,以網(wǎng)絡(luò)節(jié)點(diǎn)A向網(wǎng)絡(luò)節(jié)點(diǎn)B發(fā)送消息且在B處與網(wǎng)絡(luò)節(jié)點(diǎn)C向外發(fā)送的消息相沖突的情況,說明使用本發(fā)明對(duì)鏈路沖突進(jìn)行仿真的具體實(shí)施方式如下:
1)t1s時(shí)刻,網(wǎng)絡(luò)節(jié)點(diǎn)A準(zhǔn)備向網(wǎng)絡(luò)節(jié)點(diǎn)B發(fā)送消息MAB,讀取消息發(fā)送起始時(shí)刻t1s和本節(jié)點(diǎn)地理位置信息PA共同作為附加信息MA,與待發(fā)送消息MAB一并作為待發(fā)送信息IAB。
2)網(wǎng)絡(luò)節(jié)點(diǎn)A通過進(jìn)程間通信方式(例如套接字、管道和共享內(nèi)存),將待發(fā)送信息IAB廣播至全網(wǎng)成員(網(wǎng)絡(luò)節(jié)點(diǎn)B、網(wǎng)絡(luò)節(jié)點(diǎn)C)。
3)網(wǎng)絡(luò)節(jié)點(diǎn)B和網(wǎng)絡(luò)節(jié)點(diǎn)C在t′1s時(shí)刻接收到信息IAB后,將信息IAB存儲(chǔ)在本地。網(wǎng)絡(luò)節(jié)點(diǎn)B從信息IAB中提取出消息MAB、發(fā)現(xiàn)自身為消息目的接收節(jié)點(diǎn),繼續(xù)提取消息發(fā)送起始時(shí)刻t1s和節(jié)點(diǎn)A地理位置信息PA,利用節(jié)點(diǎn)A地理位置信息PA和節(jié)點(diǎn)B地理位置信息PB計(jì)算出節(jié)點(diǎn)A和節(jié)點(diǎn)B之間的距離LAB,結(jié)合消息長(zhǎng)度LM、系統(tǒng)仿真鏈路傳輸速率R,計(jì)算出消息仿真鏈路傳播時(shí)延(c為光速)和仿真鏈路傳輸時(shí)延最終計(jì)算出該消息接收時(shí)刻t1r=t1s+τ1+T1。網(wǎng)絡(luò)節(jié)點(diǎn)C從信息IAB中提取出消息MAB,發(fā)現(xiàn)自身不是消息目的接收節(jié)點(diǎn),則將IAB存儲(chǔ)于本地。
4)網(wǎng)絡(luò)節(jié)點(diǎn)B添加消息接收事件,創(chuàng)建定時(shí)器,觸發(fā)時(shí)刻設(shè)置為t1r。在t1r時(shí)刻到達(dá)之前繼續(xù)接收記錄網(wǎng)內(nèi)節(jié)點(diǎn)發(fā)送的廣播消息。
5)t2s時(shí)刻,網(wǎng)絡(luò)節(jié)點(diǎn)C準(zhǔn)備向某網(wǎng)絡(luò)節(jié)點(diǎn)(除網(wǎng)絡(luò)節(jié)點(diǎn)B外)發(fā)送消息Mc,讀取消息發(fā)送起始時(shí)刻t2s和本節(jié)點(diǎn)地理位置信息Pc共同作為附加信息Mc,與待發(fā)送消息Mc一并作為待發(fā)送信息Ic。
6)網(wǎng)絡(luò)節(jié)點(diǎn)C通過進(jìn)程間通信方式(例如套接字、管道和共享內(nèi)存),將待發(fā)送信息Ic廣播至全網(wǎng)成員(網(wǎng)絡(luò)節(jié)點(diǎn)A、網(wǎng)絡(luò)節(jié)點(diǎn)B)。
7)網(wǎng)絡(luò)節(jié)點(diǎn)A和網(wǎng)絡(luò)節(jié)點(diǎn)B在t′2s時(shí)刻接收到信息Ic后,從信息Ic中提取出消息Mc,發(fā)現(xiàn)自身不是消息目的接收節(jié)點(diǎn),則將Ic存儲(chǔ)于本地。
8)t1r時(shí)刻到達(dá),網(wǎng)絡(luò)節(jié)點(diǎn)B定時(shí)器到時(shí),消息接收事件被觸發(fā),查找本地保存的接收消息中,所有發(fā)送時(shí)間與消息MAB有重疊的消息,即滿足:(t1s+τ1)<=(ts+τ)<=t1r或(t1s+τ1)<=tr<=t1r。查詢發(fā)現(xiàn)本例中消息Mc發(fā)送時(shí)間與消息MAB有重疊(t2s+τ2,t1r),截取Mc波形中的重疊部分(t2s+τ2,t1r)與MAB的波形進(jìn)行疊加,生成復(fù)原的波形WAB。
9)將波形WAB遞交至物理層接收處理流程,完成消息MAB的接收過程。