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