• 
    

    
    

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

      一種基于Iron/Rust的船舶電力模擬訓練系統(tǒng)RESTFUL服務(wù)方法

      2019-01-08 01:56:56,,,
      船海工程 2018年6期
      關(guān)鍵詞:序列化模擬訓練客戶端

      ,,,

      (1.海軍駐大連426廠軍代表室,遼寧 大連 116001;2.中國艦船研究設(shè)計中心,武漢 430064;3.海軍工程大學 電氣工程學院,武漢 430033)

      隨著電力監(jiān)控系統(tǒng)在船舶中的引入,亟須建立船舶電力虛擬模擬訓練系統(tǒng),對船員進行相應(yīng)的培訓輔導,使其盡快掌握必要的基礎(chǔ)知識和實際的操作技能[1-5]。在大型船舶中,電力監(jiān)控系統(tǒng)也需要進行多戰(zhàn)位設(shè)置,實現(xiàn)對系統(tǒng)的梯隊化管理,需要模擬訓練系統(tǒng)提供多戰(zhàn)位協(xié)同訓練功能。在多人協(xié)同交互的模擬訓練場景中,為保證各訓練部位信息顯示的一致性,信息的實時交互至關(guān)重要。受訓人員需要在訓練客戶端上,通過虛擬場景進行各種模擬操作,如機組的啟動、合閘、并車、解列、停機等,需要與實時或非實時服務(wù)器等進行數(shù)據(jù)交互。虛擬模擬訓練系統(tǒng)不僅需要模擬與實船相同的電力系統(tǒng),提供電力系統(tǒng)實時仿真服務(wù),在需要時能夠?qū)崟r地對受訓人員的操作進行提示和反饋,而且需要提供仿真電力系統(tǒng)關(guān)鍵數(shù)據(jù)、施訓人員和受訓人員信息、受訓人員訓練時間、地點以及訓練效果和考核結(jié)果等信息的存儲管理。以上數(shù)據(jù)的交互均需要考慮實時性。研究分布式虛擬模擬訓練系統(tǒng)通信的實時性技術(shù),即研究虛擬模擬訓練的實時數(shù)據(jù)分發(fā)方法,對于構(gòu)建一個可用性強的模擬訓練系統(tǒng)十分必要。基于以上需求,提出一種基于Iron/Rust的船舶電力模擬訓練系統(tǒng)RESTFUL服務(wù)方法,滿足船舶電力虛擬模擬訓練系統(tǒng)對指令處理的實時性需求。

      1 基于Serde庫的序列化

      由于在電力模擬訓練系統(tǒng)仿真服務(wù)器中,需要完成對船舶電力系統(tǒng)中包括發(fā)電機組、斷路器等各種設(shè)備在內(nèi)的虛擬呈現(xiàn),將整個系統(tǒng)虛擬化,在進行模擬仿真時,虛擬化的設(shè)備需要以類的形式進行運行產(chǎn)生數(shù)據(jù)。用戶在通過客戶端進行模擬訓練時,訓練人員的操作指令按照規(guī)定的通信協(xié)議通過艦載平臺網(wǎng)打包發(fā)送至系統(tǒng)服務(wù)器,服務(wù)器根據(jù)收到的操作指令結(jié)合設(shè)定的訓練程序生成反饋數(shù)據(jù)。該數(shù)據(jù)需要按照相同的通訊協(xié)議通過平臺網(wǎng)發(fā)送至訓練客戶端,更新訓練客戶端的訓練界面,在多戰(zhàn)位的協(xié)同訓練過程中,可以保持各訓練部位訓練進程的一致性,維持訓練的協(xié)調(diào)持續(xù)進行。服務(wù)器同時要將收到的客戶端操作指令進行記錄分類歸檔,用于后期的訓練查詢及考核評估。在發(fā)送端對需要發(fā)送的數(shù)據(jù)按照存儲或通訊協(xié)議的要求進行編排,在接收端按照已定的解析協(xié)議對收到的數(shù)據(jù)進行信息解析,即序列化和反序列化的過程?;赗SETful的數(shù)據(jù)交換時,序列化和反序列化是系統(tǒng)必須要解決的問題。

      序列化操作可以讓其他程序模塊訪問未進行序列化便無法修改或查看的對象數(shù)據(jù)。在對象數(shù)據(jù)進行相應(yīng)序列化后,系統(tǒng)在需要查看或修改這些數(shù)據(jù)時,不需要考慮對象成員的可訪問性,相應(yīng)地,數(shù)據(jù)的反序列化將接收到的已序列化的數(shù)據(jù)中解析出需要的數(shù)據(jù),用于更新對象狀態(tài)。

      Serde是Rust中應(yīng)用最為廣泛的序列化和反序列化框架,主要用于將序列化后的數(shù)據(jù)按照Rust結(jié)構(gòu)進行轉(zhuǎn)換,反之亦然。在研究準備構(gòu)建的訓練模擬訓練系統(tǒng)中,主要基于Rust結(jié)構(gòu)與JSON數(shù)據(jù)的轉(zhuǎn)化。

      2 基于RESTFUL的數(shù)據(jù)分發(fā)方法

      REST(Representational State Transfer)是一種充分利用Web特性的分布式軟件架構(gòu)風格,可以降低系統(tǒng)開發(fā)的復雜性,提供系統(tǒng)的可伸縮性。利用統(tǒng)一資源標識符(URI)來定位和識別資源,并通過HTTP協(xié)議中的方法(PUT、GET、POST、DELETE)在資源進行CRUD操作。

      基于Rust語言的Iron框架建立船舶模擬訓練系統(tǒng)的RESTFUL數(shù)據(jù),需要建立基本的REST API路由:

      mount_root.mount("/api/v1/", mount_api);

      mount_root.mount("/client/", Static::new(Path::new("./client")));

      在船舶電力模擬訓練中,資源信息主要分為四類:用戶信息、訓練操作信息、訓練過程信息以及戰(zhàn)位信息。各類信息包括全部顯示、創(chuàng)建、查找、更新和刪除五類子信息。在REST服務(wù)架構(gòu)中,URI應(yīng)該包含所有作用域信息,其設(shè)計有三條基本原則:用路徑變量來表示層次結(jié)構(gòu);在路徑變量里加上標點符號,以消除誤解;用查詢變量來表達算法的輸入[6-7]。

      文中利用對各種資源確定URI。對四類資源信息確定URI部分路徑,其拓撲關(guān)系見圖1。

      圖1 模擬訓練資源信息的拓撲示意

      以用戶信息為例,確定其子信息的路徑與對應(yīng)的HTTP操作,其他各類信息可同理確定其URI。見表1。

      其拓撲關(guān)系圖見圖2。

      表1 模擬訓練資源子信息的URI部分路徑及HTTP操作

      圖2 模擬訓練資源子信息示意

      3 RESTFUL服務(wù)負載測試與分析

      為對設(shè)計的RESTFUL服務(wù)架構(gòu)性能進行比較與分析,必須通過定量化、通用的一些性能測試工具與方法,對上述方法進行測試,并對結(jié)果進行比較與分析。負載測試是為檢驗系統(tǒng)在給定負載下能否達到預期性能指標。文中將主要采用siege工具進行負載測試。

      利用siege工具,分別模擬10個客戶端并行、100個客戶端并行訪問相應(yīng)典型數(shù)據(jù),對restful數(shù)據(jù)分發(fā)方法進行5次測試,得到相應(yīng)的測試結(jié)果,見圖3、4。

      圖3 仿真電力系統(tǒng)數(shù)據(jù)測試結(jié)果

      圖4 指令數(shù)據(jù)測試結(jié)果

      由圖3、4可知,隨著并行客戶端訪問量的增加,傳輸?shù)钠骄倲?shù)據(jù)也相應(yīng)增加;由于并行客戶端訪問量增加,服務(wù)器的響應(yīng)時間也相應(yīng)增大。由于仿真電力系統(tǒng)數(shù)據(jù)幀較長,在單次獲取仿真電力系統(tǒng)數(shù)據(jù)幀時,總的通信數(shù)據(jù)量為0.41 MB。服務(wù)器獲取仿真電力系統(tǒng)數(shù)據(jù)幀的響應(yīng)時間,由10客戶端的≤30 ms,增大至100客戶端所對應(yīng)的≤250 ms 。由于在所有實時分發(fā)數(shù)據(jù)中,仿真電力系統(tǒng)數(shù)據(jù)幀屬于最長的數(shù)據(jù)幀,其大小為84.59 k,而指令數(shù)據(jù)幀均比較短,大小在1 k以內(nèi)。仿真電力系統(tǒng)數(shù)據(jù)幀為周期數(shù)據(jù),模擬訓練服務(wù)器每100 ms更新一次,網(wǎng)頁客戶端每600 ms請求一次仿真電力系統(tǒng)數(shù)據(jù)幀。指令數(shù)據(jù)幀為間歇性隨機數(shù)據(jù),由客戶端根據(jù)用戶的操作而隨機發(fā)送。通過測試可知,對于實際情況中最常用的1~10個并行客戶端場景,其通信延遲時間≤1 ms,對于極限情況下的100個并行客戶端場景,其通信延遲時間≤10 ms。實時數(shù)據(jù)分發(fā)性能完全滿足船舶電力模擬訓練系統(tǒng)實際應(yīng)用的需求。

      4 結(jié)論

      提出一種基于Iron/Rust的船舶電力模擬訓練系統(tǒng)RESTFUL服務(wù)方法。對模擬訓練所需的各種數(shù)據(jù)資源確定URI;構(gòu)建各個數(shù)據(jù)資源的子信息的路徑與對應(yīng)的HTTP操作,即CRUD;對上述RESTFUL服務(wù)方法進行負載測試。結(jié)果表明,該方法能滿足船舶電力模擬訓練系統(tǒng)實際應(yīng)用需求。

      猜你喜歡
      序列化模擬訓練客戶端
      如何建構(gòu)序列化閱讀教學
      甘肅教育(2020年14期)2020-09-11 07:58:36
      縣級臺在突發(fā)事件報道中如何應(yīng)用手機客戶端
      傳媒評論(2018年4期)2018-06-27 08:20:24
      孵化垂直頻道:新聞客戶端新策略
      傳媒評論(2018年4期)2018-06-27 08:20:16
      基于Vanconnect的智能家居瘦客戶端的設(shè)計與實現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      模擬訓練(二)
      中學科技(2018年2期)2018-03-15 22:05:13
      模擬訓練(十一)
      中學科技(2016年12期)2017-01-07 08:49:31
      模擬訓練(十)
      中學科技(2016年11期)2017-01-07 02:49:29
      模擬訓練(八)
      中學科技(2016年8期)2016-09-27 17:41:48
      Java 反序列化漏洞研究
      作文訓練微格化、序列化初探
      語文知識(2015年12期)2015-02-28 22:02:15
      应城市| 阿克苏市| 万山特区| 青海省| 临高县| 汝城县| 西宁市| 富蕴县| 伊吾县| 石楼县| 石河子市| 英德市| 虞城县| 浮梁县| 琼中| 青铜峡市| 南澳县| 随州市| 大田县| 平陆县| 读书| 定日县| 来宾市| 开封县| 长宁区| 教育| 宜州市| 东辽县| 观塘区| 夏邑县| 庆元县| 崇信县| 望城县| 健康| 孝义市| 东兴市| 朝阳县| 沙坪坝区| 淳安县| 会理县| 平顺县|