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

        ?

        一種基于WebAssembly的配網(wǎng)主站W(wǎng)eb發(fā)布系統(tǒng)

        2020-09-10 01:53:49陶潁軍胡秋玲崔麗艷卓懷忠
        交通科技與管理 2020年4期
        關(guān)鍵詞:實時性

        陶潁軍 胡秋玲 崔麗艷 卓懷忠

        摘 要:本文基于已有配網(wǎng)主站監(jiān)控系統(tǒng)提出一種基于WebAssembly的配網(wǎng)主站W(wǎng)eb發(fā)布系統(tǒng),通過將配網(wǎng)主站畫面文件解與數(shù)據(jù)IO模塊編譯為wasm格式的字節(jié)碼文件供瀏覽器加載,啟動WebWorker數(shù)據(jù)IO線程來處理實時數(shù)據(jù)更新,同時通過WebSocket協(xié)議實現(xiàn)瀏覽器端與實時數(shù)據(jù)客戶端的數(shù)據(jù)交互,主線程接收到更新通知后動態(tài)更新Web發(fā)布畫面。通過測試發(fā)現(xiàn),相比于傳統(tǒng)的Web發(fā)布方式能夠有效提高系統(tǒng)的實時性和人機交互友好性。

        關(guān)鍵詞:Web發(fā)布;WebAssembly;實時性;友好性

        中圖分類號:TM76 文獻標識碼:A

        0 引言

        隨著計算機、網(wǎng)絡(luò)通訊技術(shù)的飛速發(fā)展與廣泛應(yīng)用,配網(wǎng)主站監(jiān)控方式由過去的有人值班過渡到無人值守,由過去的單純調(diào)度運行轉(zhuǎn)變?yōu)檎{(diào)度運行、生產(chǎn)、精英管理等多種運用,在配網(wǎng)主站監(jiān)控中增加Web瀏覽功能變得越來越迫切,而且具有廣闊的市場前景。

        目前國內(nèi)基于局域網(wǎng)的配網(wǎng)主站監(jiān)控系統(tǒng)大都是基于客戶機、服務(wù)器(C/S)結(jié)構(gòu)設(shè)計并由語言開發(fā)的,Web發(fā)布系統(tǒng)中的畫面文件多來自于監(jiān)控系統(tǒng)中組態(tài)模塊,而Web發(fā)布系統(tǒng)中瀏覽器端的畫面文件處理多采用JavaScript語言,數(shù)據(jù)交互方式多采用基于jsp平臺或者PHP服務(wù)器腳本方式進行開發(fā),與配網(wǎng)主站監(jiān)控系統(tǒng)環(huán)境均存在通信接口差異與語言差異,由此導(dǎo)致監(jiān)控系統(tǒng)已有模塊無法復(fù)用,數(shù)據(jù)解析與通信交互效率低下等問題,因此針對配網(wǎng)主站監(jiān)控系統(tǒng)數(shù)據(jù)產(chǎn)生快、交互量大、實時性強等特點,研究WebAssembly技術(shù)在Web發(fā)布系統(tǒng)中的應(yīng)用方法具有非常重要的意義。

        1 字節(jié)碼技術(shù)

        WebAssembly(簡稱“WASM”)是一種以安全有效的方式運行可移植程序的新技術(shù),主要針對Web平臺。它是一種可以使用非JavaScript編程語言編寫代碼并且能在瀏覽器上運行的技術(shù)方案。它可以用高級語言編譯出字節(jié)碼放到WebAssembly虛擬機中運行,各瀏覽器廠商根據(jù)WebAssembly字節(jié)碼標準規(guī)范實現(xiàn)虛擬機。WebAssembly格式是一種新的字節(jié)碼格式,和JavaScript需要解釋執(zhí)行不同的是,WebAssembly字節(jié)碼和底層機器碼很相似,可快速裝載運行,因此性能相對于JavaScript解釋執(zhí)行大大提升。相對于JavaScript,WebAssembly有三個優(yōu)點。(1)體積小。由于瀏覽器運行時只加載編譯成的字節(jié)碼,一樣的邏輯比字符串描述的JavaScript文件體積小很多。(2)加載快。由于文件體積小,再加上無需解釋執(zhí)行,WebAssembly能更快的加載并實例化,減少運行前的等待時間。(3)兼容問題少。WebAssembly是非常底層的字節(jié)碼規(guī)范,制定好以后很少變動,就算發(fā)生變化,只需要從高級語言編譯成字節(jié)碼過程做兼容。

        2 系統(tǒng)設(shè)計

        按照配電主站系統(tǒng)信息Web發(fā)布子系統(tǒng)的功能需求以及運行要求,系統(tǒng)的功能步驟主要分為主站客戶端畫面編輯、字節(jié)碼模塊構(gòu)建、畫面內(nèi)容展示與Web發(fā)布數(shù)據(jù)訪問,具體的功能技術(shù)架構(gòu)如圖1所示。

        3 具體發(fā)布流程

        3.1 發(fā)布畫面制作

        配網(wǎng)主站系統(tǒng)中畫面文件都通過專用組態(tài)編輯工具制作完成,畫面內(nèi)容按照自定義xml文件格式存儲,具體發(fā)布內(nèi)容如圖2所示:

        3.2 字節(jié)碼模塊構(gòu)建

        配網(wǎng)主站系統(tǒng)中類似主接線圖等內(nèi)容復(fù)雜畫面發(fā)布時候,在Web瀏覽器加載會存在畫面解析加載速度過慢的問題,而通過將配網(wǎng)主站系統(tǒng)中與發(fā)布系統(tǒng)相關(guān)的畫面文件解析與數(shù)據(jù)IO等核心功能模塊進行重新構(gòu)建并加載WebAssembly模塊,從而能夠?qū)崿F(xiàn)瀏覽器端動態(tài)調(diào)用文件解析與數(shù)據(jù)IO模塊的目的,能夠有效提高解析速度。

        利用Emscripten編譯器工具將文件解析與數(shù)據(jù)IO模塊編譯為wasm格式的字節(jié)碼文件,詳細步驟包括:

        (1)文件解析與數(shù)據(jù)IO模塊中增加Emscripten構(gòu)建工具所提供EMSCRIPTEN_BINDINGS()代碼塊來導(dǎo)出API接口;(2)使用Emscripten構(gòu)建工具所提供的emcc編譯器將文件解析與數(shù)據(jù)IO模塊編譯生成為對應(yīng)的.wasm文件與.js文件;(3)使用JavaScript膠水代碼加載所生成js文件到網(wǎng)頁應(yīng)用中,調(diào)用所導(dǎo)出API接口來實現(xiàn)文件解析與數(shù)據(jù)IO功能。

        3.3 畫面調(diào)用

        利用HTML5所提供API打開配網(wǎng)主站畫面文件,文件內(nèi)容由模塊進行解析后,解析結(jié)果存入虛擬文件系統(tǒng)供后續(xù)畫面渲染時使用,其步驟主要包括:

        (1)利用HTML5所提供FileReaderAPI接口讀取本地存放配網(wǎng)主站畫面文件,生成ArrayBuffer類型對象;(2)將ArrayBuffer對象通過模塊API接口參數(shù)傳入文件解析模塊,在模塊中轉(zhuǎn)換為Qt中對應(yīng)QByteArray類型對象;(3)通過Emscripten構(gòu)建工具所提供的FS.writeFile方法將解析的圖元屬性結(jié)果存入虛擬內(nèi)存文件系統(tǒng)進行緩存;(4)瀏覽器主線程負責畫面渲染,在畫面渲染時通過讀取緩存文件來獲取畫面內(nèi)容,圖形繪制仍然使用傳統(tǒng)的JavaScript來實現(xiàn)。

        3.4 發(fā)布數(shù)據(jù)訪問

        利用WebSocket網(wǎng)絡(luò)協(xié)議實現(xiàn)瀏覽器與數(shù)據(jù)客戶端之間的數(shù)據(jù)交互,其步驟主要包括:

        (1)瀏覽器端由WebWorker控制器啟動WebWorker數(shù)據(jù)IO線程用于獲取實時數(shù)據(jù)及下發(fā)控制數(shù)據(jù);(2)數(shù)據(jù)IO線程調(diào)用數(shù)據(jù)IO模塊中API與數(shù)據(jù)客戶端采用WebSocket協(xié)議進行數(shù)據(jù)交互,其中數(shù)據(jù)IO模塊主要功能借助Qt所提供QWebSocket進行實現(xiàn);(3)數(shù)據(jù)IO線程定期輪詢緩存圖元屬性內(nèi)容,獲取頁面所有關(guān)聯(lián)動態(tài)數(shù)據(jù)后向數(shù)據(jù)客戶端發(fā)送數(shù)據(jù)更新請求,實現(xiàn)瀏覽器畫面周期性更新;(4)數(shù)據(jù)客戶端同樣可以定期輪詢實時數(shù)據(jù)變化,發(fā)現(xiàn)數(shù)據(jù)更新則主動推送變化數(shù)據(jù)到數(shù)據(jù)IO線程,從而實現(xiàn)瀏覽器畫面變化性更新;(5)瀏覽器主線程監(jiān)聽畫面圖元控制操作,將控制數(shù)據(jù)交由數(shù)據(jù)IO線程下發(fā)至數(shù)據(jù)客戶端,同時暫停發(fā)送周期數(shù)據(jù)更新請求至控制命令發(fā)送完成;(6)WebWorker控制器負責數(shù)據(jù)IO線程與主線程通信,當實時數(shù)據(jù)客戶端有數(shù)據(jù)刷新時,WebWorker線程通過一個Promise將實時數(shù)據(jù)發(fā)送給主線程,主線程獲取實時數(shù)據(jù)后設(shè)置畫面圖元動態(tài)屬性,更新配網(wǎng)主站畫面顯示。

        4 結(jié)語

        本文介紹了一種基于WebAssembly的配網(wǎng)主站W(wǎng)eb發(fā)布系統(tǒng),通過利用瀏覽器所提供的WebAssembly技術(shù)與原生支持的WebSocket網(wǎng)絡(luò)協(xié)議,在瀏覽器顯示畫面文件時以字節(jié)碼方式調(diào)用文件解析與數(shù)據(jù)IO模塊,開辟虛擬文件系統(tǒng)用于緩存文件解析結(jié)果及實時數(shù)據(jù)更新內(nèi)容,在WebWorker線程中實現(xiàn)與數(shù)據(jù)客戶端的雙向交互,相比配網(wǎng)Web發(fā)布系統(tǒng)中傳統(tǒng)實現(xiàn)方法,能夠有效提高畫面加載與動態(tài)刷新速度,具有廣泛的工程應(yīng)用價值。目前該系統(tǒng)已經(jīng)在Chrome、Firefox、Safari、Edge等多款支持Webassembly技術(shù)的主流瀏覽器上成功應(yīng)用,經(jīng)過測試運行穩(wěn)定,符合預(yù)期要求。

        參考文獻:

        [1]柴樹杉,丁爾男.WebAssembly標準入門[M].人民郵電出版社,2018.

        [2]于航.深入淺出WebAssembly[M].電子工業(yè)出版社,2018.

        猜你喜歡
        實時性
        基于改進YOLOv5s的輕量化布匹瑕疵檢測算法
        基于規(guī)則實時性的端云動態(tài)分配方法研究
        基于虛擬局域網(wǎng)的智能變電站通信網(wǎng)絡(luò)實時性仿真
        航空電子AFDX與AVB傳輸實時性抗干擾對比
        LonWorks總線實時性能分析與仿真研究
        關(guān)于對風力送絲系統(tǒng)的智能化改造
        一種滿足實時性需求的測發(fā)控軟件改進技術(shù)
        航天控制(2016年6期)2016-07-20 10:21:36
        基于優(yōu)先級標簽的LARS調(diào)度算法在網(wǎng)絡(luò)傳輸實時優(yōu)化中的應(yīng)用研究
        智富時代(2015年9期)2016-01-14 04:41:21
        機器人中間件消息實時性保證機制的研究與實現(xiàn)
        軟件(2015年10期)2015-12-25 07:51:57
        網(wǎng)絡(luò)演算理論下的工業(yè)以太網(wǎng)的實時性分析
        日韩欧美在线观看成人| 内射欧美老妇wbb| 精品国产aⅴ无码一区二区| 无遮挡十八禁在线视频国产制服网站| 丝袜美腿一区二区在线观看| 9久久婷婷国产综合精品性色| 免费va国产高清大片在线| 久久久久亚洲av无码尤物| 特黄三级一区二区三区| 华人在线视频精品在线| 一本久久a久久精品vr综合| 无码欧亚熟妇人妻AV在线外遇| 日本一区二区三区在线| 亚洲精品在线免费视频| 久久人妻少妇嫩草av无码专区| 亚洲AV无码一区二区三区日日强 | 国产乱子伦| 99精品视频69V精品视频| 在线播放免费播放av片| 国产成人午夜福利在线观看者| 激情五月婷婷六月俺也去| 国产自拍精品视频免费| 精品淑女少妇av久久免费| 在线视频一区二区日韩国产 | av男人的天堂亚洲综合网| 粗大猛烈进出白浆视频| 欧美黄色免费看| 亚洲国产线茬精品成av| 久久精品夜色噜噜亚洲a∨| 久久乐国产精品亚洲综合| 日韩av无卡无码午夜观看| 一区二区在线观看精品在线观看| 最近2019年好看中文字幕视频 | 99国产精品久久久蜜芽| 国产熟女露脸大叫高潮| 成人试看120秒体验区| 九九热在线视频观看这里只有精品| 新久久久高清黄色国产| 亚洲一区二区三区中国| 日韩亚洲av无码一区二区不卡| 欧亚精品无码永久免费视频|