• 
    

    
    

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

      SignalR技術(shù)在光伏監(jiān)控系統(tǒng)中的研究與應(yīng)用

      2016-04-11 21:04:09何文學??羅晟勇??彭天玲
      計算技術(shù)與自動化 2016年1期
      關(guān)鍵詞:S架構(gòu)服務(wù)端

      何文學??++羅晟勇??++彭天玲

      摘要:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,采用易于部署和遠程監(jiān)控的B/S架構(gòu)來實現(xiàn)光伏監(jiān)控系統(tǒng)是大勢所趨,但傳統(tǒng)B/S架構(gòu)以客戶端發(fā)出請求、服務(wù)器端響應(yīng)的工作方式無法很好的滿足光伏行業(yè)對數(shù)據(jù)實時性的高要求。為了解決此問題,研究SignalR技術(shù)在光伏監(jiān)控系統(tǒng)中的應(yīng)用具有重要的意義和實用價值。

      關(guān)鍵詞:SignalR;光伏監(jiān)控;B/S架構(gòu);服務(wù)端

      中圖分類號:TP311.5文獻標識碼:A

      1引言

      隨著能源供需矛盾的不斷加劇和環(huán)境污染的日益嚴重,世界各國都在努力開發(fā)和尋找可替代的綠色清潔能源。太陽能是一種清潔、高效和永不衰竭的新能源,太陽能資源的利用是國家可持續(xù)發(fā)展戰(zhàn)略的重要內(nèi)容[1]。使用無污染的太陽能并將光伏發(fā)電技術(shù)推廣勢在必行。隨著規(guī)模性光伏電站大量投入運行,實時地監(jiān)控光伏電站運行狀況,滿足電站系統(tǒng)的監(jiān)控需求,是目前亟需解決的關(guān)鍵問題。

      目前的光伏發(fā)電站大都以孤立的形式存在,之間并無聯(lián)系,缺乏統(tǒng)一的調(diào)度與監(jiān)控,每個光伏電站都配備了各自的技術(shù)、運行和管理人員,各電站間缺乏協(xié)調(diào)運行管理[2,3]。隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,傳統(tǒng)的C/S架構(gòu)系統(tǒng)向B/S架構(gòu)發(fā)展已成為必然的趨勢,B/S架構(gòu)的系統(tǒng)能很好的解決光伏發(fā)電站信息孤立,多站遠程統(tǒng)一調(diào)度與監(jiān)控困難的問題,但是B/S架構(gòu)傳統(tǒng)的客戶端瀏覽器與服務(wù)器之間通過請求/響應(yīng)來獲取信息的方式已經(jīng)不能滿足光伏監(jiān)控系統(tǒng)對數(shù)據(jù)實時性的要求。SignalR兼容的通訊設(shè)計將Comet與WebSocket等實時通訊技術(shù)都整合在其通訊框架中,支持從服務(wù)端到客戶端的高頻率推送,極大的提高了B/S架構(gòu)應(yīng)用的實時性。同時,SignalR將底層復(fù)雜的通訊技術(shù)進行抽象,提供給開發(fā)者一個簡單易用的高階API,用來實現(xiàn)服務(wù)器端與瀏覽器間的遠程調(diào)用[4]。

      2SignalR技術(shù)研究

      SignalR是一個有利于構(gòu)建交互式、多用戶以及實時Web應(yīng)用程序的框架,它大量使用了異步技術(shù)以使得應(yīng)用程序滿足實時性要求并達到最佳性能。它抽象了應(yīng)用程序客戶端和服務(wù)器之間的傳輸協(xié)議,支持HTML5的WebSocket,ServerSendEvents協(xié)議及Comet的ForeverFrame,AjaxLongPooling協(xié)議[5]。SignalR始終都會嘗試根據(jù)環(huán)境的兼容性選用最高效的傳輸方式,然后使用它來創(chuàng)建底層連接并保持連接持續(xù)打開,同時還能自動管理連接斷開和重連。如圖1所示,我們只需要使用一個持續(xù)打開的連接,而無需知道其底層是采用的哪種技術(shù)實現(xiàn)的。

      SignalR提供了一套統(tǒng)一的編程模型,它不依賴于實現(xiàn)基礎(chǔ)連接的具體技術(shù)。開發(fā)人員而無需關(guān)心底層是使用LongPooling還是WebSockets方式來維持連接,只要在框架建立的虛擬連接上實現(xiàn)自己的服務(wù),并且始終都是使用同樣的API,這種方式使得該框架功能非常強大,靈活。SignalR還包含一個消息總線,它可以管理連接到服務(wù)的客戶端和服務(wù)端之間數(shù)據(jù)的發(fā)送和接收。服務(wù)端可以跟蹤連接到它的客戶端并檢測它們的狀態(tài)是連接還是斷開,同時,服務(wù)端可以發(fā)送消息給所有或者部分連接到它的客戶端,自動管理所有和通訊相關(guān)的問題并保證消息的傳送[6]。

      SignalRAPI包含兩種模式的客戶端和服務(wù)器之間的通信:持久連接和Hubs。一個持久連接表示發(fā)送單一的接收方消息、分組消息或廣播消息的一個簡單的端點。持久連接API使得開發(fā)人員可以直接訪問SignalR公開的低級別的通信協(xié)議。而Hubs是建立在持久連接API上的更高級別的管道,它允許客戶端和服務(wù)端可以像調(diào)用本地方法一樣直接相互調(diào)用對方的方法,并支持強類型的參數(shù)傳遞及模型綁定[7]。圖2顯示了Hubs、持久連接和用于傳輸?shù)幕A(chǔ)技術(shù)之間的聯(lián)系。

      3SignalR在光伏監(jiān)控系統(tǒng)中的應(yīng)用

      在光伏監(jiān)控系統(tǒng)中,底層的匯流箱、逆變器、箱變和環(huán)境監(jiān)測儀等設(shè)備的實時數(shù)據(jù)通過數(shù)據(jù)采集程序統(tǒng)一采集并存放到實時數(shù)據(jù)庫中,光伏監(jiān)控系統(tǒng)需要在實時數(shù)據(jù)庫中的數(shù)據(jù)更新時能立即反饋給客戶端界面,動態(tài)的更新界面數(shù)據(jù),同時實時反映出底層設(shè)備的運行工況。

      傳統(tǒng)的光伏監(jiān)控系統(tǒng)都是采用C/S架構(gòu)的組態(tài)軟件實現(xiàn),實時性較高,能很好的滿足光伏監(jiān)控系統(tǒng)對數(shù)據(jù)實時性要求高的需求,但是具有部署困難、維護成本高和無法通過互聯(lián)網(wǎng)進行遠程監(jiān)控和多站監(jiān)控的缺點[8]。而采用B/S架構(gòu)的監(jiān)控系統(tǒng)能夠進行分布式部署,客戶端只需一個瀏覽器就可以進行遠程監(jiān)控和多站監(jiān)控,能夠很好的解決C/S的不足。但是傳統(tǒng)的B/S架構(gòu)的軟件一般都是客戶端使用AJAX輪詢的方式(如圖3),在指定時間間隔主動向服務(wù)端發(fā)出異步的HTTP請求,服務(wù)端接收到請求后馬上返回響應(yīng)信息并關(guān)閉連接??蛻舳瞬还軐崟r數(shù)據(jù)是否有更新,都會將從服務(wù)端獲取的實時數(shù)據(jù)用于前端界面的更新,這樣就造成了帶寬和服務(wù)器資源的浪費,導(dǎo)致實時性和響應(yīng)速度下降。為了彌補B/S架構(gòu)軟件的這些缺點,將兼容了多種通訊協(xié)議的SignalR框架應(yīng)用到光伏監(jiān)控系統(tǒng)中,能夠很大程度上提高其實時性和響應(yīng)速度,讓使用者感覺就像是在用C/S架構(gòu)的軟件。應(yīng)用了SignalR框架的光伏監(jiān)控系統(tǒng),在系統(tǒng)初始化時SignalR會初始化一個Hub連接到服務(wù)端(如圖4),服務(wù)端會一直等待數(shù)據(jù)更新,在實時數(shù)據(jù)沒有發(fā)生更新之前,服務(wù)端不會返回響應(yīng)信息,直到實時數(shù)據(jù)發(fā)生更新,服務(wù)端的Hub會主動調(diào)用客戶端JavaScript腳本方法,用最新的實時數(shù)據(jù)更新前端需要更新的元素,而不會反復(fù)的與服務(wù)器端發(fā)生HTTP請求,前端數(shù)據(jù)也只會在實時數(shù)據(jù)真正發(fā)生改變時才被服務(wù)端通知進行更新,這樣就能很大程度上減小帶寬的使用,同時也能保證光伏監(jiān)控系統(tǒng)更高的數(shù)據(jù)實時性,能及時的反應(yīng)出底層設(shè)備的運行情況。

      要將SignalR框架應(yīng)用到光伏監(jiān)控系統(tǒng)中,首先要在服務(wù)層為需要進行實時更新的業(yè)務(wù)數(shù)據(jù)建立相應(yīng)的Hub類,它負責處理從客戶端接收的連接和客戶端調(diào)用的服務(wù)端方法。然后建立一個相應(yīng)的業(yè)務(wù)類,它負責定時的查詢實時數(shù)據(jù)庫中的數(shù)據(jù)是否發(fā)生變化,當數(shù)據(jù)發(fā)生變化時,業(yè)務(wù)類將發(fā)生變化的數(shù)據(jù)廣播到客戶端,客戶端對應(yīng)的腳本方法接收到服務(wù)端的通知后,會將需要更新的實時數(shù)據(jù)替換前端界面的舊數(shù)據(jù),以達到有針對性的進行實時數(shù)據(jù)更新的目的。

      猜你喜歡
      S架構(gòu)服務(wù)端
      云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
      新時期《移動Web服務(wù)端開發(fā)》課程教學改革的研究
      在Windows Server 2008上創(chuàng)建應(yīng)用
      B/S架構(gòu)下的學生信息管理系統(tǒng)的設(shè)計
      學生會管理系統(tǒng)的設(shè)計與實現(xiàn)
      軟件(2016年4期)2017-01-20 10:04:02
      基于ASP技術(shù)下的大學生跳蚤書街平臺的設(shè)計與實施
      基于B/S架構(gòu)的高校實驗管理平臺的設(shè)計與實現(xiàn)
      基于WEB的企業(yè)進銷存管理系統(tǒng)設(shè)計
      C/S架構(gòu)下的中職教學輔助系統(tǒng)的新探索
      考試周刊(2016年42期)2016-06-18 08:17:19
      基于虛擬化技術(shù)的云實驗平臺的研究與設(shè)計
      玛曲县| 苗栗县| 潮安县| 云南省| 黄冈市| 津南区| 横峰县| 宜川县| 宁陵县| 绵阳市| 丰都县| 梁山县| 安福县| 灵寿县| 黄山市| 德化县| 儋州市| 监利县| 于田县| 花莲市| 喀喇沁旗| 蕲春县| 崇州市| 平山县| 庆安县| 广州市| 多伦县| 沂水县| 乌拉特后旗| 山东| 土默特左旗| 吉林省| 建阳市| 莒南县| 常熟市| 新建县| 兴义市| 定西市| 阳高县| 城市| 巴楚县|