• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)通信中間件的比較與仿真測(cè)試①

      2019-02-06 04:03:55蘇一博臧晶韓東奇
      科技創(chuàng)新導(dǎo)報(bào) 2019年26期

      蘇一博 臧晶 韓東奇

      摘 ? 要:本文主要針對(duì)DDS、Socket和Redis數(shù)據(jù)通信中間件來(lái)進(jìn)行研究,對(duì)這三種常用的數(shù)據(jù)通信中間件進(jìn)行分析,并應(yīng)用在待設(shè)計(jì)的通用仿真系統(tǒng)上進(jìn)行比較,最后選取出更合適本系統(tǒng)的數(shù)據(jù)通信中間件,并進(jìn)行仿真測(cè)試。

      關(guān)鍵詞:DDS ?Socket ?Redis

      中圖分類號(hào):TN919 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻(xiàn)標(biāo)識(shí)碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號(hào):1674-098X(2019)09(b)-0142-02

      數(shù)據(jù)通信中間件是用來(lái)解決分布式計(jì)算機(jī)系統(tǒng)中數(shù)據(jù)之間的通信問(wèn)題的技術(shù)。本文對(duì)三種數(shù)據(jù)通信中間件進(jìn)行分析、比較,從而選取出適合本通用仿真系統(tǒng)的通信方式,并進(jìn)行仿真結(jié)果測(cè)試。

      1 ?數(shù)據(jù)分發(fā)服務(wù)DDS

      標(biāo)準(zhǔn)DDS,提供了基于多樣化數(shù)據(jù)的發(fā)布訂閱模型[1],可以進(jìn)行實(shí)時(shí)發(fā)布,也可以針對(duì)自身需要進(jìn)行及時(shí)訂閱。DDS標(biāo)準(zhǔn)可以切實(shí)保障數(shù)據(jù)傳輸過(guò)程中的可靠性,并切實(shí)解決相關(guān)冗余性問(wèn)題。故此,其廣泛應(yīng)用于多樣化高端領(lǐng)域。

      2 ?Socket數(shù)據(jù)通信中間件

      Socket可以支持TCP/IP網(wǎng)絡(luò)通信[2],也提供多樣化服務(wù)。

      Socket主要提供數(shù)據(jù)報(bào)式Socket和流式Socket兩種通信機(jī)制。(1)數(shù)據(jù)報(bào)式Socket主要通過(guò)UDP協(xié)議實(shí)現(xiàn)通信。UDP協(xié)議因可靠性低,面向無(wú)連接,不具備差錯(cuò)恢復(fù)等多樣化功能,只能針對(duì)相對(duì)較少的數(shù)據(jù)進(jìn)行日常傳輸工作;(2)流式Socke主要通過(guò)TCP協(xié)議實(shí)現(xiàn)通信。TCP協(xié)議具備相對(duì)較高的可靠性,可以實(shí)現(xiàn)面向連接,具備差錯(cuò)恢復(fù)等多樣化功能,比較適用于傳輸相對(duì)較多的數(shù)據(jù)。

      3 ?Redis數(shù)據(jù)通信中間件

      Redis基于內(nèi)存實(shí)現(xiàn),能夠切實(shí)提高用戶的實(shí)際訪問(wèn)速率[3],提供兩種通信方式,即:(1)Redis數(shù)據(jù)庫(kù)通信方式,以鍵值對(duì)的形式存儲(chǔ)所有的仿真執(zhí)行參數(shù)、仿真模型以及一些仿真控制參數(shù)等實(shí)現(xiàn)通信。(2)Redis頻道功能提供了基于訂閱發(fā)布的通信模式。

      4 ?待設(shè)計(jì)數(shù)據(jù)通信中間件的某通用仿真系統(tǒng)介紹

      待設(shè)計(jì)通用仿真系統(tǒng)提供仿真分布式部署與管理功能,以及仿真執(zhí)行、暫停、步進(jìn)、停止、與修改參量等功能。該系統(tǒng)由仿真總控程序、仿真執(zhí)行程序、和各仿真模型組成,如圖1所示,分布式仿真的實(shí)現(xiàn)通過(guò)部署在不同仿真計(jì)算機(jī)上的仿真執(zhí)行程序及運(yùn)行在其上的仿真模型共同完成,仿真執(zhí)行程序之間通過(guò)標(biāo)準(zhǔn)數(shù)據(jù)通信中間件通信,仿真流程由仿真總控程序協(xié)同控制。

      5 ?三種數(shù)據(jù)通信中間件的比較

      分別將DDS、Socket和Redis三種數(shù)據(jù)通信中間件運(yùn)用到待設(shè)計(jì)的通用仿真系統(tǒng)當(dāng)中,對(duì)三種數(shù)據(jù)通信中間件進(jìn)行比較:

      (1)使用DDS通信時(shí),由于DDS的源代碼是非開(kāi)源的,并且DDS的環(huán)境配置較為復(fù)雜,相比之下不易于系統(tǒng)的研發(fā)工作。

      (2)Socket方式可以保證高效的、順序的數(shù)據(jù)傳輸。如果數(shù)據(jù)沒(méi)有傳送到,則TCP套接口返回一個(gè)出錯(cuò)狀態(tài)條件。但是TCP在發(fā)送數(shù)據(jù)時(shí)必須創(chuàng)建并保持一個(gè)TCP服務(wù),這個(gè)服務(wù)給TCP通信進(jìn)程增加了開(kāi)銷(xiāo),降低了TCP的通信速度。

      (3)Redis可以長(zhǎng)時(shí)間的保存數(shù)據(jù)在磁盤(pán)中,并且支持?jǐn)?shù)據(jù)備份,Redis具有快速和持久化的特征,因?yàn)閿?shù)據(jù)存在內(nèi)存之中,因而傳輸速度較快,重啟的時(shí)候可以再次加載進(jìn)行使用,支持豐富的數(shù)據(jù)類型,并且它作為消息中間件可以實(shí)現(xiàn)訂閱/發(fā)布消息的功能。

      綜上所述,本文設(shè)計(jì)的通用仿真系統(tǒng)更適合采用Redis作為數(shù)據(jù)通信中間件來(lái)實(shí)現(xiàn)各分布式模塊之間的數(shù)據(jù)通信功能。

      6 ?仿真測(cè)試

      將本文設(shè)計(jì)的通用仿真系統(tǒng)利用Redis作為底層通信網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)分布式各系統(tǒng)的數(shù)據(jù)傳輸與交互,操作過(guò)程如下:

      使用Redis作為數(shù)據(jù)通信中間件,測(cè)試程序啟動(dòng)方式為分別啟動(dòng)仿真總控程序、仿真執(zhí)行程序、tmpDB程序以及tmpZK程序。各個(gè)程序的運(yùn)行過(guò)程如圖所示。其中,圖2所示為啟動(dòng)tmpZK程序,啟動(dòng)仿真;圖3為啟動(dòng)仿真執(zhí)行程序,解析分布式部署信息和仿真模型信息,啟動(dòng)成功后向總控程序發(fā)送反饋信息。圖4所示為總控程序在仿真執(zhí)行過(guò)程中的狀態(tài)信息。圖5所示為tmpDB程序在仿真的過(guò)程中,存儲(chǔ)仿真結(jié)果數(shù)據(jù)。圖6所示為仿真測(cè)試結(jié)果。

      通過(guò)對(duì)仿真過(guò)程以及仿真結(jié)果圖的分析,可以得出,通過(guò)Redis作為數(shù)據(jù)通信中間件,在待設(shè)計(jì)的通用仿真系統(tǒng)上進(jìn)行仿真數(shù)據(jù)的傳輸,是可行且有效的,能夠?qū)崿F(xiàn)仿真數(shù)據(jù)在各分布式模塊的數(shù)據(jù)交互。

      7 ?結(jié)語(yǔ)

      數(shù)據(jù)通信中間件逐漸豐富與完善,從而能夠解決計(jì)算機(jī)中的數(shù)據(jù)傳輸與交互的問(wèn)題。本文分析比較了DDS、Socket以及Redis三種數(shù)據(jù)通信中間件,并選擇Redis作為數(shù)據(jù)通信中間件來(lái)實(shí)現(xiàn)在待設(shè)計(jì)的通用仿真系統(tǒng)中各分布式模塊間的通信。通過(guò)仿真測(cè)試,驗(yàn)證了Redis作為數(shù)據(jù)通信中間件在本文設(shè)計(jì)的通用仿真系統(tǒng)中的有效性。

      參考文獻(xiàn)

      [1] 謝陽(yáng)杰,吳家鑄.數(shù)據(jù)分發(fā)服務(wù)DDS的研究[A].全國(guó)第19屆計(jì)算機(jī)技術(shù)與應(yīng)用學(xué)術(shù)會(huì)議[C].合肥,2008:38-43.

      [2] 王曉鵬.TCP/IP下的Socket及Winsock通信機(jī)制[J].航空計(jì)算技術(shù),2004(2):12-16.

      [3] 郎泓鈺,任永功.基于Redis內(nèi)存數(shù)據(jù)庫(kù)的快速查找算法[J].計(jì)算機(jī)應(yīng)用與軟件,2016(5):40-43,52.

      上虞市| 海城市| 江北区| 郓城县| 萝北县| 聊城市| 监利县| 松江区| 永顺县| 缙云县| 垫江县| 剑川县| 云南省| 巍山| 六枝特区| 霸州市| 正宁县| 桂平市| 大丰市| 两当县| 天祝| 门头沟区| 凤凰县| 宝山区| 新竹市| 锡林郭勒盟| 囊谦县| 庄浪县| 顺昌县| 汉中市| 札达县| 上栗县| 台湾省| 镇宁| 汝城县| 临潭县| 建平县| 镇宁| 江安县| 沙田区| 九台市|