朱曉攀, 陳 實
(1. 中國科學(xué)院國家空間科學(xué)中心, 北京 100190; 2. 中國科學(xué)院大學(xué)計算機與控制學(xué)院, 北京 100049)
在傳統(tǒng)大規(guī)模分布式仿真系統(tǒng)中往往包含多個子系統(tǒng),各子系統(tǒng)又由多個功能模塊組成。一些功能模塊直接采用Windows平臺下的成熟商業(yè)軟件,一些則是基于Linux開源軟件二次開發(fā)得到,還有一些是根據(jù)用戶需求自主研發(fā),這給系統(tǒng)集成帶來很大的挑戰(zhàn)。此外,當(dāng)不同模塊間傳輸?shù)膱D像和數(shù)據(jù)量都很大時,如何將這些功能各異的模塊統(tǒng)一起來,并且實現(xiàn)不同模塊間數(shù)據(jù)的實時可靠[1]交互是實現(xiàn)分布式仿真系統(tǒng)的關(guān)鍵。在使用過程或未來設(shè)計中,各子系統(tǒng)有可能需要根據(jù)用戶需求做進一步的擴展,增加新的功能模塊,這對于分布式系統(tǒng)的靈活性也提出了較高的要求。
采用數(shù)據(jù)分發(fā)服務(wù)(data distributed service,DDS)來構(gòu)建分布式仿真系統(tǒng)框架。該技術(shù)以數(shù)據(jù)為中心[2],采用發(fā)布/訂閱方式進行通信。相比于以對象為中心,采用客戶/服務(wù)器方式的公共對象請求代理體系結(jié)構(gòu)(common object request broker architecture,CORBA)技術(shù),DDS克服服務(wù)器端瓶頸制約的限制[3],提供20多種服務(wù)質(zhì)量(quality of service,QoS) 策略[4],增強數(shù)據(jù)傳輸?shù)聂敯粜?能夠保證分布式系統(tǒng)之間實時、高效、可靠的數(shù)據(jù)交互能力。此外,DDS由于其容納異構(gòu)能力強,能夠支持多種平臺、不同系統(tǒng)、各類語言開發(fā)的功能模塊,以DDS中間件[5]作為網(wǎng)絡(luò)通信的標(biāo)準(zhǔn),支持隨時加入或退出的分布式仿真系統(tǒng)節(jié)點,具有很強的靈活性。這為未來整個分布式仿真系統(tǒng)的擴展升級提供了較好的支持。
因此,論文在DDS的基礎(chǔ)上構(gòu)建像質(zhì)處理提升仿真系統(tǒng),確保不同平臺、不同編程語言、不同通信協(xié)議開發(fā)的模塊能夠“在合適的時間有效穩(wěn)健地傳遞正確信息[6]”,使整個仿真系統(tǒng)可靠和高效的運行。
DDS最早應(yīng)用于解決海軍艦船復(fù)雜網(wǎng)絡(luò)環(huán)境中大量軟件升級的兼容性問題,并于2003年被對象管理組織(object management group,OMG)接受,發(fā)布了《Data Distribution Service for Real-time Systems》規(guī)范。該規(guī)范標(biāo)準(zhǔn)化了分布式實時系統(tǒng)中數(shù)據(jù)發(fā)布、傳遞和接收的接口,并且定義了以數(shù)據(jù)為中心的發(fā)布/訂閱(data-centric publish-subscribe,DCPS) 機制[7],提供了一個與平臺無關(guān)的通信模型[8],使得DDS在大規(guī)模分布式系統(tǒng)集成方面有著特有的優(yōu)勢。DDS通信模型如圖1所示。
圖1 DDS通信模型Fig.1 Communication model of DDS
DDS通信模型主要包括:數(shù)據(jù)發(fā)布者(Publisher)、數(shù)據(jù)訂閱者(Subscriber)、數(shù)據(jù)寫者(DataWriter)、數(shù)據(jù)讀者(DataReader)和主題(Topic)。Publisher可以創(chuàng)建并管理多個DataWriter,DataWriter向全局數(shù)據(jù)空間(global data space,GDS)發(fā)布數(shù)據(jù)并根據(jù)其類型差異標(biāo)識不同的Topic,這樣就通過DataWriter和Publisher的協(xié)同來實現(xiàn)數(shù)據(jù)發(fā)布。Subscriber可以創(chuàng)建并管理多個DataReader,DataReader通過匹配GDS里面的Topic讀取所需要的信息,這樣就通過DataReader和Subscriber的協(xié)同來實現(xiàn)數(shù)據(jù)訂閱,從而通過發(fā)布/訂閱實現(xiàn)數(shù)據(jù)的分發(fā)、傳遞和接收。
目前,DDS被廣泛應(yīng)用于各種分布式系統(tǒng)的構(gòu)建。國外研究中,文獻[9]將DDS應(yīng)用于分布式防空作戰(zhàn)模型的開發(fā),對防空作戰(zhàn)指令進行主題化處理,通過仿真得出該模型在防空作戰(zhàn)領(lǐng)域具有很好的作戰(zhàn)效果;文獻[10]在原有的DDS模型中提出一種改進的自發(fā)現(xiàn)算法,能夠有效地消除數(shù)據(jù)信息報的局限性和隨機性,以減少網(wǎng)絡(luò)數(shù)據(jù)傳輸量,大幅度提高數(shù)據(jù)間首次可靠交付的能力。
國內(nèi)研究中,文獻[11]將DDS技術(shù)用于飛行器測控系統(tǒng),并通過加入數(shù)據(jù)過濾策略對DDS進行改進,豐富了原有的QoS策略,通過仿真論證,改進過的DDS很好地滿足了多任務(wù)、高實時的性能要求;文獻[12]基于DDS設(shè)計了船舶分布式通信系統(tǒng),并通過引入3種結(jié)構(gòu),進行艦船模型多數(shù)量、交互信息多種類的仿真,可以證明DDS完全滿足船舶分布式通信對于實時性、高吞吐的要求。
總之,DDS由于在結(jié)構(gòu)上靈活性、模塊上的異構(gòu)性以及在數(shù)據(jù)傳輸方面高吞吐低時延[13]的特點,使其在分布式通信和仿真系統(tǒng)中得到廣泛應(yīng)用。
像質(zhì)處理提升仿真系統(tǒng)主要針對無人機、飛艇或衛(wèi)星拍攝到的圖像進行仿真,并利用相關(guān)技術(shù)對仿真得到的圖像進行處理提升,最后從多個角度來對像質(zhì)提升的結(jié)果進行評估,從而實現(xiàn)圖像仿真、處理提升、性能評估等功能為一體的全鏈路仿真處理。根據(jù)任務(wù)需求,像質(zhì)處理提升仿真系統(tǒng)包含了多個子系統(tǒng)和功能模塊,不同模塊間需要實現(xiàn)海量圖像和數(shù)據(jù)的傳輸,在整個傳輸?shù)倪^程中系統(tǒng)有如下需求:
(1) 按需分配。仿真系統(tǒng)包含了不同的子系統(tǒng),子系統(tǒng)又由多個模塊組成,各個模塊對于數(shù)據(jù)的需求是不同的,在大量數(shù)據(jù)交互的同時需要保證接收到正確的數(shù)據(jù)。DDS通過創(chuàng)建發(fā)布者和訂閱者,并對不同數(shù)據(jù)標(biāo)識唯一的主題,發(fā)布者將數(shù)據(jù)發(fā)送到GDS,訂閱者通過主題匹配在GDS查找到自己所需要的數(shù)據(jù),實現(xiàn)數(shù)據(jù)的按需分配[14]。
(2) 實時性。仿真系統(tǒng)的各模塊處理之后所產(chǎn)生的數(shù)據(jù)一方面供其他模塊進行使用,另一方面也要快速地呈現(xiàn)在可視化界面上,整個過程需要在很短的時間內(nèi)進行。DDS不存在服務(wù)器端瓶頸制約的影響,其豐富的QoS策略支持多點傳輸[15]、異步傳輸和并行處理,能夠在海量數(shù)據(jù)交互的同時,很好地保證整個運行過程的高實時性[16]。
(3) 可靠性。仿真系統(tǒng)包含了不同的子系統(tǒng)模塊,各模塊采用不同的處理平臺、操作系統(tǒng)、傳輸協(xié)議等,對于數(shù)據(jù)之間的可靠交互提出了很大的挑戰(zhàn)。DDS針對不同的情況制定了從發(fā)布到訂閱整個過程中不同類型的QoS策略,如Duration,Reliability等可以實現(xiàn)各節(jié)點之間的可靠通信。
(4) 擴展性。仿真系統(tǒng)在未來有可能會作進一步升級改造,添加一些新的功能模塊,需要具備較好的可擴展性。DDS具有優(yōu)異的跨平臺特性,支持Windows、Linux、Andriod等操作系統(tǒng)之間的互聯(lián)、互通和互操作,支持區(qū)分服務(wù)(differentiated service,DiffServ)網(wǎng)絡(luò)[17]、軟件定義網(wǎng)絡(luò)[18](software defined network,SDN)和無線傳感器網(wǎng)絡(luò)[19]等多種形式,支持傳輸控制協(xié)議(transmission control protocol,TCP)和用戶數(shù)據(jù)報協(xié)議(user datagram protocol,UDP)等多種傳輸協(xié)議,支持多種數(shù)據(jù)類型,支持多種開發(fā)語言和處理器[20]。進行新的功能擴展時,只需要在原有的基礎(chǔ)上增加發(fā)布者和訂閱者以及相關(guān)的主題即可,不需要改變復(fù)雜的系統(tǒng)架構(gòu),從而保證系統(tǒng)的可擴展性。
(5) 高吞吐率。仿真系統(tǒng)設(shè)計時需要傳輸10 000×10 000 (286 MB)的超大圖像,同時又包含海量的文本數(shù)據(jù),隨著頻繁的發(fā)布和訂閱,系統(tǒng)的并發(fā)數(shù)逐漸增多,響應(yīng)時間不斷變長,對于吞吐率是一個很高的要求。DDS各分布式節(jié)點之間都是一個平等的關(guān)系[21],沒有服務(wù)器和客戶端之間的主從關(guān)系,沒有服務(wù)器端的瓶頸制約,可以實現(xiàn)任意兩點或多點之間的高吞吐[22]通信。
像質(zhì)處理提升仿真系統(tǒng)設(shè)計了系統(tǒng)管控、圖像仿真、處理提升、性能評估、可視化5個子系統(tǒng),各子系統(tǒng)又包含了一些功能模塊,整個分布式系統(tǒng)的組成如圖2所示,各子系統(tǒng)之間通過DDS中間件來進行通信,整個通信結(jié)構(gòu)如圖3所示。
圖2 系統(tǒng)組成Fig.2 System configuration
圖3 基于DDS的通信結(jié)構(gòu)Fig.3 DDS-based communication structure
(1) 系統(tǒng)管控:控制著其他所有子系統(tǒng),負責(zé)人機交互的參數(shù)配置和模塊選擇,向其他子系統(tǒng)或功能模塊發(fā)布標(biāo)識了不同主題的數(shù)據(jù),同時訂閱其他子系統(tǒng)或功能模塊發(fā)布的數(shù)據(jù)。
(2) 系統(tǒng)可視化:將系統(tǒng)管控配置的參數(shù)和信息顯示出來,將圖像仿真、處理提升和性能評估3個子系統(tǒng)生成的數(shù)據(jù)結(jié)果展示出來,同時實時顯示系統(tǒng)運行狀態(tài),便于用戶查看。
(3) 圖像仿真:集發(fā)布/訂閱功能為一體的子系統(tǒng)。該系統(tǒng)包含了大氣傳輸、光學(xué)系統(tǒng)、信號傳輸?shù)榷鄠€功能模塊。這些功能模塊從系統(tǒng)管控訂閱所需數(shù)據(jù),作進一步處理并發(fā)布數(shù)據(jù)供其他功能模塊使用,同時將運行狀態(tài)和結(jié)果發(fā)布給可視化模塊。
(4) 處理提升:集發(fā)布/訂閱功能為一體的子系統(tǒng)。該子系統(tǒng)包含基于小波變換和基于混合濾波算法等功能模塊。這些功能模塊從圖像仿真子系統(tǒng)訂閱所需的數(shù)據(jù),作進一步處理并發(fā)布數(shù)據(jù)供其他系統(tǒng)使用,同時將運行狀態(tài)和結(jié)果發(fā)布給可視化模塊。
(5) 性能評估:集發(fā)布/訂閱功能為一體的子系統(tǒng)。該子系統(tǒng)又包含了圖像傳函、圖像信噪比、處理速度評估等功能模塊,這些功能模塊從處理提升子系統(tǒng)訂閱所需的數(shù)據(jù),作進一步處理并發(fā)布數(shù)據(jù)供其他系統(tǒng)使用,同時將運行狀態(tài)和結(jié)果反饋到可視化。
整個分布式仿真系統(tǒng)在系統(tǒng)管控統(tǒng)一調(diào)度管理下運行,首先用戶從數(shù)據(jù)庫導(dǎo)入數(shù)據(jù)文件(即配置信息),通過系統(tǒng)管控的人機交互界面輸入相關(guān)參數(shù),選擇需要運行的功能模塊,然后發(fā)布數(shù)據(jù)推進仿真流程,并實時地將運行結(jié)果展現(xiàn)在可視化界面上。整個系統(tǒng)的運行流程如圖4所示。
圖4 系統(tǒng)運行流程Fig.4 System running flow
(1) 圖像仿真、處理提升、性能評估3個子系統(tǒng)及其包含的功能模塊都可以在用戶界面進行選用。運行過程中,3個子系統(tǒng)按照圖4虛線箭頭所示是一個串行的關(guān)系,當(dāng)有多幅圖像處理時系統(tǒng)可以并行執(zhí)行。
(2) 圖像仿真、處理提升、性能評估3個子系統(tǒng)既是發(fā)布者也是訂閱者。在整個過程當(dāng)中,一方面作為訂閱者,對所需主題數(shù)據(jù)進行實時監(jiān)聽,通過主題匹配訂閱數(shù)據(jù);另一方面又能及時地將處理過的數(shù)據(jù)發(fā)布出去,供其他系統(tǒng)使用。
在開源OpenDDS的基礎(chǔ)上進行二次開發(fā),對相關(guān)函數(shù)進行封裝,形成了分布式仿真系統(tǒng)的通用接口。每一個分布式節(jié)點都可以進行發(fā)布和訂閱的相關(guān)操作,從而實現(xiàn)對某一主題數(shù)據(jù)的實時交互。在該通用接口里面,定義了一些數(shù)據(jù)類和函數(shù),其接口的實現(xiàn)就是通過數(shù)據(jù)類和函數(shù)來完成的,以下是幾個重要的數(shù)據(jù)類和函數(shù)。
(1) Data類接口
Data(String from, int comret, int size, String parameters, int id, int count)
Data類里面定義了傳遞數(shù)據(jù)的發(fā)送方、命令結(jié)果、大小、傳遞參數(shù)、主題數(shù)據(jù)的id號和計數(shù)器6個參數(shù),包含了主題數(shù)據(jù)的全部信息,是整個發(fā)布和訂閱過程傳遞的核心。
(2) DDSInterface類接口
該類繼承了DDS-DataReaderListenerLocalBase接口,負責(zé)完成訂閱方訂閱數(shù)據(jù)的具體實現(xiàn)。
(3) PubSub類接口
該類包含了以下函數(shù):
① initial(String[] args)
該函數(shù)實現(xiàn)了對DDS的初始化,生成對應(yīng)的發(fā)布方和訂閱方,完成通信所需的配置環(huán)境和文件,參數(shù)指定了系統(tǒng)的IP地址和端口號。
② createTopic(String topic)
該函數(shù)實現(xiàn)了對不同數(shù)據(jù)的主題創(chuàng)建,作為發(fā)布/訂閱過程傳遞和接收的命令標(biāo)識,參數(shù)指定了主題名稱。
③ createPublisher()
該函數(shù)實現(xiàn)了對發(fā)布者的創(chuàng)建。
④ createSubscriber()
該函數(shù)實現(xiàn)了對訂閱者的創(chuàng)建。
⑤ createDataWriter(String topicName, boolean reliable)
該函數(shù)創(chuàng)建了一個數(shù)據(jù)寫者,是發(fā)布者發(fā)布主題的實現(xiàn)工具,參數(shù)指定了主題名,以及是否需要可靠傳輸。
⑥ createDataReader(String topicName, boolean realible)
該函數(shù)創(chuàng)建了一個數(shù)據(jù)讀者,是訂閱者訂閱主題的實現(xiàn)工具,參數(shù)指定了主題名、數(shù)據(jù)接口類以及是否需要可靠傳輸。
⑦ sendData(String topicName, Data data, int num, boolean reliable, boolean waitForAcks)
該函數(shù)實現(xiàn)了發(fā)布方對數(shù)據(jù)的發(fā)布,參數(shù)指定了發(fā)送數(shù)據(jù)的主題、發(fā)送的數(shù)據(jù)、數(shù)量以及是否需要可靠傳輸,是否需要應(yīng)答。
⑧ receiveData(String topicName, Data data, int num)
該函數(shù)實現(xiàn)了訂閱方對數(shù)據(jù)的接收,參數(shù)指定了接收數(shù)據(jù)的主題、接收的數(shù)據(jù)以及個數(shù)。
⑨ cleanUp()
該函數(shù)在發(fā)布/訂閱完成后,負責(zé)關(guān)閉數(shù)據(jù)節(jié)點之間的通信通道,釋放掉占用的資源。
(4) QoS接口策略
setQoS(QoS_policy)
在DDS中間件中,發(fā)布訂閱雙方都支持多種QoS策略。如Duration策略為后期加入的DataReader提供連接DataWriter不同等級的權(quán)限,根據(jù)數(shù)據(jù)時間要求排出優(yōu)先級,確保數(shù)據(jù)有序傳輸;DurabilityService策略針對不同的數(shù)據(jù)需求提供特定的服務(wù)類型,一方面保證數(shù)據(jù)的可靠存儲,另一方面又能夠及時清理多余數(shù)據(jù)保證運行內(nèi)存;DeadLine策略支持在固定周期更新發(fā)布的數(shù)據(jù),保證發(fā)布訂閱過程中數(shù)據(jù)的實時更新;Reliability策略提交歷史記錄中的所有數(shù)據(jù),確保所有的數(shù)據(jù)能夠傳遞到目的節(jié)點??傊?DDS包含豐富的QoS策略能夠滿足用戶對于各種數(shù)據(jù)傳輸多樣化的需求。
圖1提供了DDS的通信模型,給出了發(fā)布/訂閱過程的概念實現(xiàn),這里結(jié)合像質(zhì)處理提升仿真系統(tǒng),以圖像仿真子系統(tǒng)的大氣傳輸模塊為例,給出了發(fā)布方訂閱方的具體數(shù)據(jù)傳輸流程,如圖5所示。
圖5 發(fā)布/訂閱流程實現(xiàn)Fig.5 Realization of publishing/subscribing process
仿真系統(tǒng)中系統(tǒng)管控用來對整個系統(tǒng)的功能模塊選擇、參數(shù)配置以及運行控制進行操控,可視化界面是將仿真出來的結(jié)果和相關(guān)的參數(shù)顯示出來,而其他子系統(tǒng)集發(fā)布/訂閱功能為一體,訂閱相關(guān)主題進行二次處理并將處理過的數(shù)據(jù)進行發(fā)布供其他模塊使用,整個過程涉及到各子系統(tǒng)模塊不同主題的發(fā)布和訂閱。下面以系統(tǒng)管控和圖像仿真子系統(tǒng)的核心代碼為例,給出發(fā)布方和訂閱方的具體代碼實現(xiàn),如表 1和表 2所示。
表1 系統(tǒng)管控通信代碼
表2 圖像仿真通信代碼
與傳統(tǒng)TCP/IP通信方式相比,DDS具有更豐富的QoS策略,因此在理論上DDS具有更好的傳輸性能。為了驗證DDS數(shù)據(jù)傳輸?shù)男阅?論文將DDS與傳統(tǒng)的TCP/IP協(xié)議進行了比較,參數(shù)設(shè)置如表 3所示。
表3 參數(shù)設(shè)置
根據(jù)系統(tǒng)設(shè)計設(shè)置一個發(fā)送節(jié)點和4個接收節(jié)點,發(fā)送節(jié)點和接收節(jié)點間通信距離大約為30 km,節(jié)點間通過帶寬為3.1 kHz的傳統(tǒng)電話信號進行數(shù)據(jù)的有線傳輸,傳輸數(shù)據(jù)為一組大小分別為10 MB,45 MB,99 MB,143 MB的圖像。發(fā)送節(jié)點采用兩種不同的傳輸協(xié)議(DDS和TCP/IP)發(fā)送圖像數(shù)據(jù),并對其他4個節(jié)點的傳輸時延、吞吐率和丟包率進行歸一化處理,以多次測量的均值作為最終結(jié)果,具體結(jié)果如下。
(1) 傳輸時延:指發(fā)送節(jié)點從開始發(fā)送數(shù)據(jù)到接收節(jié)點完全收到所有數(shù)據(jù)所需要的時間。測試結(jié)果如圖6所示,可以看到,基于DDS和TCP/IP兩種協(xié)議的傳輸時延都隨著圖像增大而增大,但是基于TCP/IP的傳輸時延增幅較大且一直高于基于DDS的傳輸時延。
圖6 傳輸時延對比Fig.6 Comparison of transmission delay
(2) 吞吐率:指在單位時間內(nèi)通過某個網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量單位。測試結(jié)果如圖7所示,基于DDS和TCP/IP兩種協(xié)議的吞吐率隨著圖像的增大保持相對平穩(wěn),但是基于DDS傳輸?shù)耐掏侣室葌鹘y(tǒng)TCP/IP傳輸協(xié)議的吞吐率高3倍左右。
圖7 吞吐率對比Fig.7 Comparison of throughput
(3) 丟包率:是指測試中所丟失數(shù)據(jù)包數(shù)量占所發(fā)送數(shù)據(jù)包總數(shù)的比率。通常,千兆網(wǎng)卡流量大于200 Mbps時,丟包率小于萬分之五是屬于正常范圍;百兆網(wǎng)卡在流量大于60 Mbps時,丟包率小于萬分之一屬于正常范圍。測試采用的Intel 1350-T2的全雙工千兆網(wǎng)卡,在吞吐率的測試中,基于DDS的傳輸流量為310 Mbps左右,基于TCP的傳輸流量為100 Mbps左右,如圖8所示的測試結(jié)果表明,在進行多次發(fā)包時基于DDS的丟包率遠遠低于萬分之五的標(biāo)準(zhǔn),而且基于DDS的傳輸?shù)膩G包率只有TCP/IP傳輸協(xié)議的1/4左右。
圖8 丟包率對比Fig.8 Comparison of packet loss rate
像質(zhì)處理提升仿真系統(tǒng)是整合了圖像仿真、處理提升、性能評估等子系統(tǒng)為一體的分布式仿真系統(tǒng)。經(jīng)過第5.1節(jié)性能測試與驗證得出,DDS在圖像數(shù)據(jù)傳輸方面相比于傳統(tǒng)的TCP/IP具有更低的傳輸時延、丟包率和更高的吞吐率,因此采用基于DDS的原理來實現(xiàn)系統(tǒng)設(shè)計。
由于系統(tǒng)包含了海量的圖像數(shù)據(jù)同時為了測試各子系統(tǒng)功能的完備性,以其中一幅衛(wèi)星拍攝到的原始圖像作為運行的示意,對其進行仿真作進一步的提升處理,然后通過不同的指標(biāo)來進行評價。通過對各子系統(tǒng)處理得到的圖像與原始圖像進行對比,驗證DDS能夠很好地支持和實現(xiàn)各分布式子系統(tǒng)的功能。原始圖像如圖9所示。
圖9 原始圖像Fig.9 Original image
(1) 圖像仿真
圖像仿真子系統(tǒng)通過DDS訂閱系統(tǒng)管控發(fā)布的數(shù)據(jù),對圖像做不同算法的仿真處理,并將處理過的數(shù)據(jù)標(biāo)識不同主題發(fā)布到GDS,可視化子系統(tǒng)通過訂閱圖像仿真子系統(tǒng)模塊的主題將結(jié)果展現(xiàn)出來。如圖10所示,在可視化界面左半部分為原始圖像,右半部分為圖像仿真生成的圖像,從而實現(xiàn)圖像仿真的功能。
圖10 圖像仿真結(jié)果Fig.10 Image simulation result
(2) 處理提升
處理提升子系統(tǒng)通過DDS訂閱圖像仿真子系統(tǒng)發(fā)布的數(shù)據(jù),對圖像做進一步的提升處理,并將處理過的數(shù)據(jù)標(biāo)識不同主題發(fā)布到GDS,可視化子系統(tǒng)通過訂閱處理提升子系統(tǒng)模塊的主題將結(jié)果展現(xiàn)出來。如圖11所示,在可視化界面左半部分為原始圖像,右半部分為經(jīng)過處理提升生成的圖像,從而實現(xiàn)處理提升的功能。
圖11 圖像處理提升結(jié)果Fig.11 Image quality improvement result
(3) 性能評估
性能評估子系統(tǒng)通過DDS訂閱處理提升子系統(tǒng)發(fā)布的數(shù)據(jù),采用不同的評價指標(biāo)進行評估,并將處理過的數(shù)據(jù)標(biāo)識不同主題發(fā)布到GDS,可視化子系統(tǒng)通過訂閱性能評估子系統(tǒng)模塊的主題將結(jié)果展現(xiàn)出來。如圖12所示,圖像左上部分為原始圖像,右上部分為經(jīng)過性能評估生成的圖像,從而實現(xiàn)性能評估的功能。
圖12 性能評估結(jié)果Fig.12 Performance evaluation result
本小節(jié)對仿真系統(tǒng)的網(wǎng)絡(luò)性能和模塊功能進行測試。通過與傳統(tǒng)TCP/IP協(xié)議在傳輸時延、吞吐率、丟包率3方面的比較,驗證了基于DDS的傳輸協(xié)議在傳遞相同圖像時具有更低的時延、丟包率和更高的吞吐率;通過對圖像仿真、處理提升、性能評估子系統(tǒng)的功能測試,驗證了DDS能夠很好地支撐分布式系統(tǒng)的仿真運行。
論文搭建了基于DDS的分布式仿真系統(tǒng),該系統(tǒng)突破了傳統(tǒng)協(xié)議中服務(wù)器端的瓶頸制約,滿足了系統(tǒng)對于圖像數(shù)據(jù)的高吞吐和低時延傳輸需求。DDS所具有的各種QoS策略,也使得設(shè)計的分布式仿真系統(tǒng)具有高效、可靠、靈活、可擴展的特點。通過對仿真系統(tǒng)的性能和功能進行測試,證明了DDS協(xié)議能夠很好地解決分布式條件下高實時、高吞吐、低時延的圖像可靠傳輸問題,滿足像質(zhì)處理提升仿真需求。
在未來工作中,針對DDS具有的綜合集成能力、異構(gòu)系統(tǒng)接入能力、信息共享能力和實時數(shù)據(jù)傳遞能力,可以將DDS應(yīng)用在航天、航空、電子、船舶等大規(guī)模分布式實時系統(tǒng),通過分析眾多QoS策略在復(fù)雜網(wǎng)絡(luò)環(huán)境、不同開發(fā)語言、不同處理器、跨平臺方面對于數(shù)據(jù)傳輸性能的影響,設(shè)置最佳QoS策略,為后續(xù)復(fù)雜分布式系統(tǒng)的搭建和實現(xiàn)提供必要的基礎(chǔ)研究。