亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        實(shí)時(shí)高效的共享內(nèi)存技術(shù)在高速磁浮交通仿真中的應(yīng)用

        2016-11-25 00:00:00張旭彤
        電腦知識與技術(shù) 2016年26期
        關(guān)鍵詞:網(wǎng)絡(luò)通信

        張旭彤

        摘要:該文論述了一種實(shí)施高效的共享內(nèi)存技術(shù),它可用于高速磁浮交通仿真中仿真計(jì)算機(jī)或者仿真服務(wù)器內(nèi)部的多進(jìn)程通信管理和信息傳輸,并且能夠滿足磁浮仿真環(huán)境中三層硬件架構(gòu)(頂層工作站、中間層服務(wù)器、底層管理計(jì)算機(jī))之間的網(wǎng)絡(luò)通信要求,以完成對磁浮功能軟件的測試與驗(yàn)證。在統(tǒng)一的報(bào)文格式下,該共享內(nèi)存技術(shù)使用配置文件記錄通信節(jié)點(diǎn)的起始端口和IP地址等信息,確保了通信進(jìn)程的獨(dú)立性和實(shí)時(shí)性。此外,選取共享內(nèi)存技術(shù)以實(shí)現(xiàn)仿真環(huán)境中應(yīng)用層和通信層之間的數(shù)據(jù)傳輸,提高仿真環(huán)境處理數(shù)據(jù)的效率,確保高速磁浮交通仿真的傳輸性能。

        關(guān)鍵詞:多進(jìn)程通信;共享內(nèi)存技術(shù);高速磁浮交通仿真;網(wǎng)絡(luò)通信

        中圖分類號:TP311.52 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)26-0248-02

        1研究背景

        為了實(shí)現(xiàn)高速磁浮交通仿真中仿真計(jì)算機(jī)或仿真服務(wù)器內(nèi)部的信息傳輸或者數(shù)據(jù)傳輸,以完成對本機(jī)所運(yùn)行的磁浮功能軟件進(jìn)行環(huán)境故障注入條件下的系統(tǒng)功能和性能的測試與驗(yàn)證,需要使用一種可在多進(jìn)程之間切換的高效通信技術(shù)。高速磁浮仿真的硬件架構(gòu)分為三層:底層是子系統(tǒng)仿真管理計(jì)算機(jī),中間層是仿真支撐服務(wù)器,頂層是工作站仿真計(jì)算機(jī)。由于仿真環(huán)境通過以太網(wǎng)相連,網(wǎng)絡(luò)中的每一臺機(jī)器不僅作為一個(gè)通信節(jié)點(diǎn)與網(wǎng)絡(luò)進(jìn)行信息傳輸,而且需要與多種類的磁浮功能軟件進(jìn)行數(shù)據(jù)交互。共享內(nèi)存技術(shù)作為最高效的本機(jī)進(jìn)程間通信技術(shù),可以快速地將內(nèi)存中的數(shù)據(jù)映射到多個(gè)不同的進(jìn)程中。因此,在磁浮交通仿真環(huán)境中使用共享內(nèi)存技術(shù),不僅可以實(shí)現(xiàn)仿真計(jì)算機(jī)內(nèi)部的多進(jìn)程通信,還可以提高仿真環(huán)境處理數(shù)據(jù)的效率,減少信息傳遞或者故障注入的響應(yīng)時(shí)間,確保高速磁浮交通仿真的傳輸性能。

        2 影響因素分析

        由于高速磁浮交通仿真的功能特性與通信要求,數(shù)據(jù)傳輸?shù)母咝院蛯?shí)時(shí)性是通信時(shí)的重中之重。而且仿真環(huán)境中各個(gè)節(jié)點(diǎn)的端口信息、數(shù)量、IP地址等需要根據(jù)通信需求進(jìn)行改變,因此通過對仿真環(huán)境中通信節(jié)點(diǎn)的信息傳輸要求分析,可以得到數(shù)據(jù)通信需具有以下特點(diǎn):

        1) 高速磁浮交通仿真環(huán)境中的數(shù)據(jù)傳輸是大批量、高頻率的,具體的要求要視仿真設(shè)備終端采集數(shù)據(jù)的頻率和請求發(fā)送的頻率而定;

        2) 數(shù)據(jù)傳輸要具有實(shí)時(shí)性,將仿真設(shè)備采集的數(shù)據(jù)實(shí)時(shí)傳給網(wǎng)絡(luò)中的通信層,并且對異常或者陳舊數(shù)據(jù)進(jìn)行清除;

        3) 仿真環(huán)境中磁浮計(jì)算機(jī)與通信節(jié)點(diǎn)采用“一對多”的關(guān)系;

        4) 通信節(jié)點(diǎn)的端口信息、地址等可能改變,需要手動(dòng)配置通信節(jié)點(diǎn)的信息;

        5) 為了維護(hù)磁浮仿真環(huán)境的可擴(kuò)展性,通信節(jié)點(diǎn)可能發(fā)生增加或刪除的情況,需要對通信節(jié)點(diǎn)做增刪操作。

        3 方案設(shè)計(jì)

        在高速磁浮交通仿真環(huán)境中,每一臺計(jì)算機(jī)中的軟件架構(gòu)分為通信層與應(yīng)用層。通信層進(jìn)程主要負(fù)責(zé)為應(yīng)用層和其他通信節(jié)點(diǎn)提供通信服務(wù),并且監(jiān)控網(wǎng)絡(luò)中的通信狀態(tài),定時(shí)記錄通信日志等;應(yīng)用層進(jìn)程即為環(huán)境中各個(gè)磁浮模塊運(yùn)行的磁浮功能軟件,與用戶及通信層進(jìn)程進(jìn)行交互。為了確保高速磁浮交通仿真的傳輸性能,本機(jī)間進(jìn)程通過共享內(nèi)存方式進(jìn)行通信,并且同時(shí)為通信層與應(yīng)用層提供可讀寫的共享內(nèi)存接口,將共享內(nèi)存技術(shù)封裝為DLL動(dòng)態(tài)鏈接庫的方式分別提供給通信層與應(yīng)用層以完成進(jìn)程間的交互。其次,使用Windows系統(tǒng)的Initialization File(.ini文件)對可變化的通信節(jié)點(diǎn)進(jìn)行配置和管理。

        3.1 共享內(nèi)存技術(shù)

        高速磁浮交通仿真的共享內(nèi)存技術(shù)采用一種“主—從式”的技術(shù)架構(gòu)。在高速磁浮交通仿真計(jì)算機(jī)中,共享內(nèi)存同時(shí)提供給計(jì)算機(jī)中的通信層和應(yīng)用層,由通信層進(jìn)行統(tǒng)一地新建和管理,應(yīng)用層只能發(fā)送請求以獲得對共享內(nèi)存的讀寫權(quán)限。共享內(nèi)存技術(shù)主要是通過內(nèi)存映射文件的方式進(jìn)行工作,內(nèi)存映射文件通過將文件內(nèi)容復(fù)制給虛擬地址空間,通過互斥鎖管理內(nèi)存的讀寫情況,完成多進(jìn)程之間的通信。當(dāng)內(nèi)存映射文件被創(chuàng)建后,需要通信的線程分別將此對象載入自己的地址空間。此過程完成后,對此塊內(nèi)存的讀寫會實(shí)時(shí)的反映到另一個(gè)使用此共享內(nèi)存的進(jìn)程中。

        共享內(nèi)存技術(shù)以DLL動(dòng)態(tài)鏈接庫中函數(shù)的形式提供給通信層與應(yīng)用層。載入動(dòng)態(tài)鏈接庫文件并成功調(diào)用相應(yīng)的初始化函數(shù)之后,進(jìn)程便有了對相應(yīng)共享內(nèi)存的讀寫權(quán)限。當(dāng)有報(bào)文到達(dá)時(shí),進(jìn)程將報(bào)文傳給對應(yīng)的共享內(nèi)存塊(從對應(yīng)的共享內(nèi)存塊中取出)。在每一個(gè)共享內(nèi)存塊中,使用互斥鎖Mutex控制一個(gè)進(jìn)程內(nèi)多個(gè)線程對其的使用權(quán)。當(dāng)某一個(gè)線程對共享內(nèi)存塊進(jìn)行讀(寫)操作時(shí),將Mutex置為鎖狀態(tài),使其他調(diào)用相同共享內(nèi)存塊的線程置為阻塞狀態(tài),直到該讀(寫)操作結(jié)束并且Mutex為解鎖狀態(tài),再將內(nèi)存塊的使用權(quán)交給其他線程。在每一個(gè)共享內(nèi)存塊中,使用事件Event實(shí)現(xiàn)共享內(nèi)存的讀寫同步機(jī)制。當(dāng)某一個(gè)“寫入”共享內(nèi)存塊的Mutex為解鎖狀態(tài)并且內(nèi)存內(nèi)容為空時(shí),則將SetEvent()函數(shù)置為掛起狀態(tài),等待線程的調(diào)用以及寫操作的信號。當(dāng)某一個(gè)“讀出”共享內(nèi)存塊的Mutex為解鎖狀態(tài)并且內(nèi)存內(nèi)容不為空時(shí),無需線程調(diào)用自動(dòng)將SetEvent()函數(shù)置為發(fā)信號狀態(tài)以進(jìn)行讀操作。直到線程讀取完畢,解除發(fā)信號狀態(tài)以實(shí)現(xiàn)讀寫同步機(jī)制。通過實(shí)現(xiàn)共享內(nèi)存的讀寫同步機(jī)制,可以大大提高進(jìn)程通信的實(shí)時(shí)性以保證磁浮仿真環(huán)境的傳輸效率。

        3.2 共享內(nèi)存代理

        在高速磁浮仿真環(huán)境中,由于通信節(jié)點(diǎn)的數(shù)量較多并且具有不確定性,對建立的大量共享內(nèi)存塊進(jìn)行查找會降低進(jìn)程通信的傳輸效率,進(jìn)程可能會花費(fèi)大量的時(shí)間查找對應(yīng)的共享內(nèi)存塊,即使該共享內(nèi)存塊可能早以銷毀。因此在建立一組共享內(nèi)存塊的基礎(chǔ)上,此共享內(nèi)存技術(shù)同時(shí)建立一個(gè)共享內(nèi)存代理Container。

        共享內(nèi)存代理Container將所有的共享內(nèi)存塊組成一個(gè)Map,并且以窗口的形式存儲。共享內(nèi)存代理存儲共享內(nèi)存塊的數(shù)量、網(wǎng)絡(luò)狀態(tài)和地址指針等信息。進(jìn)程只需提供通信節(jié)點(diǎn)名稱以及收發(fā)地址即可調(diào)用共享內(nèi)存代理,使用對應(yīng)的共享內(nèi)存塊進(jìn)行通信。同時(shí)共享內(nèi)存代理使用3.1中的互斥體Mutex控制多進(jìn)程對共享內(nèi)存塊的讀寫操作。共享內(nèi)存代理使用事件Event維護(hù)共享內(nèi)存塊的網(wǎng)絡(luò)狀態(tài),當(dāng)Mutex為鎖狀態(tài)時(shí),代理向特定的共享內(nèi)存塊發(fā)送Event信號,將共享內(nèi)存塊置為“讀(寫)”狀態(tài)或者返回共享內(nèi)存塊不存在或錯(cuò)誤信號給進(jìn)程。

        此外,共享內(nèi)存塊在建立的時(shí)候需要存儲名稱、ip地址、是否記錄日志等各種各樣的信息,但是共享內(nèi)存代理只存儲內(nèi)存塊的指針信息、是否可以讀寫的狀態(tài)等少量信息。所以進(jìn)程只需要提供少量的信息就可以調(diào)用共享內(nèi)存代理,讓代理去處理讀寫的問題,進(jìn)程只需等待反饋即可。因此,使用共享內(nèi)存代理解決了查找大量共享內(nèi)存塊所帶來的效率降低問題,加快了進(jìn)程讀寫的速度。

        3.3 配置文件

        共享內(nèi)存使用Windows系統(tǒng)的Initialization File(.ini文件)對通信節(jié)點(diǎn)的端口信息、端口數(shù)量、起始地址、IP地址等其他信息進(jìn)行配置和管理。由于高速磁浮交通仿真使用P2P通信協(xié)議作為通信架構(gòu),因此每一臺仿真計(jì)算機(jī)都擁有多個(gè)不同功能的通信節(jié)點(diǎn)。共享內(nèi)存通過讀取.ini文件中通信節(jié)點(diǎn)信息,使用CreateFileMapping()創(chuàng)建文件映射,新建出通信結(jié)點(diǎn)數(shù)量的兩倍的共享內(nèi)存塊。通過讀取通信節(jié)點(diǎn)的名稱,為每一個(gè)通信節(jié)點(diǎn)分配一個(gè)“讀出”共享內(nèi)存塊和一個(gè)“寫入”共享內(nèi)存塊,并且每一個(gè)共享內(nèi)存塊使用MapViewOfFile()或MapViewOfFileEx()函數(shù),將文件映射到調(diào)用的進(jìn)程地址空間中。用戶只需要修改文本信息即可達(dá)到增刪改共享內(nèi)存的效果,以此提高了共享內(nèi)存技術(shù)的高效性。

        4 實(shí)驗(yàn)結(jié)果

        根據(jù)共享內(nèi)存的設(shè)計(jì)方案,編寫對應(yīng)的.ini配置文件,將共享內(nèi)存技術(shù)封裝為DLL文件提供給通信層和應(yīng)用層之后,在傳輸速率為100Mbps的局域網(wǎng)中進(jìn)行測試驗(yàn)證,得到結(jié)果如下表:

        5 結(jié)束語

        文中論述的共享內(nèi)存技術(shù)確保了高速磁浮交通仿真環(huán)境可以實(shí)時(shí)高效的進(jìn)行進(jìn)程間通信,實(shí)現(xiàn)了頂層工作站、中層服務(wù)器與底層管理計(jì)算機(jī)之間的進(jìn)程交互要求,并且在傳輸大量數(shù)據(jù)的前提下,確保了數(shù)據(jù)傳輸?shù)乃俣扰c效率。同時(shí)通信層與應(yīng)用層完全互相獨(dú)立,通信節(jié)點(diǎn)可根據(jù)用戶需求靈活配置,極大地增加了該共享內(nèi)存技術(shù)的可擴(kuò)展性,為今后的磁浮仿真環(huán)境的通信需求調(diào)整、通信節(jié)點(diǎn)增刪提供了良好的基礎(chǔ)。并且該共享內(nèi)存技術(shù)不僅適用于此磁浮仿真環(huán)境中,還可應(yīng)用于類似的交通局域網(wǎng)的網(wǎng)絡(luò)通信中。

        參考文獻(xiàn):

        [1] Ivar Jacobson, Martin Griss, Patrik Jonsson. Software Reuse—Architecture, Process and Organization for Business Success[M]. Addison Wesley Longman, 1997.

        [2] 汪翔, 袁輝. Visual C++實(shí)踐與提高(網(wǎng)絡(luò)編程篇) [M]. 北京: 中國鐵道出版社, 2001.

        [3] 余可曼, 陳平, 金連甫. 網(wǎng)絡(luò)通信中間件的設(shè)計(jì)及實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程, 2001, 27(5).

        [4] Gary B Shelly, Thomas J Cashman, Harry J Rosenblatt.系統(tǒng)分析與設(shè)計(jì)教程[M]. 李芳, 朱群雄, 陳軼群, 等,譯.北京: 機(jī)械工業(yè)出版社, 2004.

        [5] 梁庚, 白焰. Windows下進(jìn)程間通信方式探討[J]. 微型電腦應(yīng)用, 2006, 22(12).

        [6] 馬魁濤, 蔡穎, 郭寶峰. Win32進(jìn)程間信息共享的實(shí)現(xiàn)方法研究[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2007, 23(12).

        [7] 周偉明. 多核計(jì)算與程序設(shè)計(jì)[M]. 武漢: 華中科技大學(xué)出版社, 2009.

        猜你喜歡
        網(wǎng)絡(luò)通信
        基于NoC架構(gòu)的網(wǎng)絡(luò)通信抗干擾方法研究
        海上軍用網(wǎng)絡(luò)通信的安全控制技術(shù)
        基于網(wǎng)絡(luò)通信的智能照明系統(tǒng)設(shè)計(jì)
        電子制作(2019年15期)2019-08-27 01:11:48
        基于CAN總線的網(wǎng)絡(luò)通信信道的建模與研究
        移動(dòng)計(jì)算機(jī)網(wǎng)絡(luò)通信技術(shù)研究
        電子測試(2018年14期)2018-09-26 06:05:06
        計(jì)算機(jī)網(wǎng)絡(luò)通信常見問題與技術(shù)發(fā)展研究
        電子制作(2018年10期)2018-08-04 03:24:46
        網(wǎng)絡(luò)通信中信息隱藏技術(shù)的應(yīng)用
        基于網(wǎng)絡(luò)通信的校園智能音箱設(shè)計(jì)
        電子制作(2018年1期)2018-04-04 01:48:30
        談?dòng)?jì)算機(jī)網(wǎng)絡(luò)通信常見問題及技術(shù)發(fā)展
        電子制作(2017年17期)2017-12-18 06:41:06
        汽車檢測控制系統(tǒng)網(wǎng)絡(luò)通信技術(shù)分析
        電子測試(2017年23期)2017-04-04 05:07:12
        日韩在线精品在线观看| 免费av网站大全亚洲一区| 久久亚洲国产成人精品v| 日韩在线不卡一区在线观看| 亚洲一区二区精品在线看| 亚洲一区二区蜜桃视频| 日韩av免费一区二区| 无遮挡激情视频国产在线观看| 国产 高潮 抽搐 正在播放| 精品国产乱码久久久久久郑州公司 | 日韩男女av中文字幕| 麻豆国产精品久久天堂| 久久麻传媒亚洲av国产| 成人艳情一二三区| 黑人巨大无码中文字幕无码| 色翁荡息又大又硬又粗又视频图片| 国产色综合天天综合网| 国产免费无码9191精品| 亚洲天堂av在线免费播放| 免费一级淫片日本高清| 色综合久久无码五十路人妻| 一区二区三区av波多野结衣| 成片免费观看视频大全| 精品熟女少妇av免费观看| 亚洲AV小说在线观看| 亚洲免费av第一区第二区| 青青草手机在线免费观看视频| 国产精品爽爽久久久久久竹菊| 欧美黑人性暴力猛交喷水黑人巨大| 亚洲av无码精品色午夜蛋壳| 伊人狠狠色j香婷婷综合| 国产福利一区二区三区在线观看 | 精品乱色一区二区中文字幕| 亚洲av手机在线播放| 国产内射视频在线免费观看| 国产欧美va欧美va香蕉在 | 日本强伦姧人妻一区二区| 国产av无码专区亚洲avjulia| 亚洲av无码第一区二区三区| 国产在线AⅤ精品性色| 人妻系列少妇极品熟妇|