《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于Vert.x的實時Web監控系統
基于Vert.x的實時Web監控系統
2015年微型機與應用第12期
呂海東
(大連理工大學 城市學院,遼寧 大連 116600)
摘要: 創新性地使用最新的Vert.x框架,利用其異步、非阻塞、實時性、高并發的工作模式,對現有的工業過程監控系統進行全面改造,極大提升了系統的響應速度,實時性得到顯著提高,完全滿足大量客戶端并發的實時請求。
Abstract:
Key words :

  摘  要: 創新性地使用最新的Vert.x框架,利用其異步、非阻塞、實時性、高并發的工作模式,對現有的工業過程監控系統進行全面改造,極大提升了系統的響應速度,實時性得到顯著提高,完全滿足大量客戶端并發的實時請求。

  關鍵詞: Vert.x;過程監控;PLC;數據推送

0 引言

  工業生產監控系統的Web化[1]已成為標準,客戶端只使用瀏覽器即可實現對監控數據的實時顯示,不需要安裝各種監控組件,簡化了監控系統維護。實現監控數據的實時傳輸和顯示技術也在不斷地出現,從傳統HTTP請求/響應模式,到AJAX的Comet及HTML5的WebSocket,采用數據推送技術,使得Web監控系統的實時性得到極大提高。然而監控服務器在面對大量客戶連接的并發請求時,實時性難以滿足。無論JavaEE,還是NET都如此,它們的多線程工作模式是根源所在。為解決此問題,Vert.x框架[2-3]應運而生,它采用全新工作模式,特別適合開發實時性要求極高的系統。

  Vert.x是用于下一代異步、可伸縮、并發應用的框架,輕量級的高性能JVM應用平臺,適合開發各種移動及企業應用。它徹底解決了業界遭遇C10K問題,即當并發連接超過一萬以上時,傳統技術會引發暫停。以Tomcat為例,它在超過100個并發長請求就堵塞,而Vert.x可支持超10萬個并發請求。

  本文采用Vert.x對現有的供熱監控系統進行改造,對監控服務器端和客戶端進行重構。在服務器端使用Vert.x的Web服務器取代現有Tomcat7,采用Vert.x TCP讀取西門子PLC300的監控數據。用戶端采用Vert.x的Event Bus Bridge技術,實時接收服務器端監控數據,改造后的監控系統的性能和響應速度比原有系統有顯著的提高。

1 Vert.x框架概述

  Vert.x核心采用與Node.js相同的事件驅動的異步工作模式,使用單線程的事件循環機制實現高并發的請求處理,而不像傳統的服務器采用多線程的模式。

  Vert.x的核心組件是Verticle,運行在Vert.x實例中。Vert.x啟動后,根據服務器CPU的內核數,自動創建對應的Vert.x實例,并發運行Verticle。

  Vert.x采用事件驅動的異步編程模式,通過觸發事件以及注冊事件處理器完成所有編程任務。Verticle之間不能直接調用,只能發送和接收事件實現協作。

  Vert.x的核心是事件總線,Verticle在事件總線發送和接收事件。事件總線是分布式的,能連接服務器和客戶端。事件總線支持點對點和發布-訂閱模式的事件傳輸,監控系統中服務器向所有連接的客戶端發送監控數據就使用發布訂閱模式,使得所有客戶端瀏覽器都能實時接收到監控數據。

2 實時監控系統設計與實現

  大連柳樹供熱公司監控系統現場采用西門子PLC S7-300[4],通過屏蔽雙絞線連接到中心機房的核心交換機上,中心監控主機CPU采用志強8核服務器,可并發運行8個Vert.x實例,能支持十幾萬個并發請求。頁面采用最新的Bootstrap模版技術[5],自動適應不同尺寸的屏幕顯示,包括手機、平板等。

  2.1 讀取PLC監控數據TCP編程

  西門子S7-300采用TCP FETCH WRITE通信方式[6],該模式下通過TCP協議的Socket,主機可與PLC進行數據交換。

  Vert.x內置TCP Client方法,如下是TCP客戶端讀取PLC數據的代碼:

  var vertx=require(′vertx′);//獲得Vert.x運行實例

  var eb=require(′vertx/event_bus′)//獲得Event Bus對象

  var client=vertx.createNetClient();//創建TCP客戶端

  client.reconnectAttempts(1000);//設置連接嘗試次數

  client.reconnectInterval(500);//設置嘗試間隔時間

  //連接PLC Socket端口,并定義回調函數

  client.connect(config.port,config.ip,function(err,socket){//定義接收到PLC數據的事件處理器

  socket.dataHandler(function(buffer){

  var data=JSON.parse(buffer);

  //將接收的數據發布到Evnet Bus上

  eb.publish("rtdata.in.receive",{info:data},function(result){});

  //使用定時器,每間隔0.5 s發送請求數據指令到PLC

  var timer=vertx.setPeriodic(500,function(timerID){sock.write("datain");});

  }});

  客戶端定時發送數據指令,PLC數據到達后,Socket上的事件監聽器工作,從回調函數中取得監控數據,并轉換為JSON格式,使用總線方法publish發布事件??偩€上監聽的Web客戶端都能同步接收監控數據。Vert.x采用推模式實現數據傳輸,由Vert.x服務器主動發送數據,不需客戶端請求,節省了網絡帶寬,提高了傳輸速度,滿足了監控系統實時性。監控系統的總體架構如圖1所示。

001.jpg

  在Vert.x服務器中,可啟動多個TCP客戶端Verticle,實現多路監測數據的并發讀取,如下代碼展示主服務器依次啟動Http Web Server和TCP Client監控Verticle等實例。

  //獲得Vert.x實例容器

  var container=require("vertx/container");

  //啟動Web服務器

  container.deployVerticle("HttpServer.js");

  //啟動PLC TCP客戶端

  container.deployVerticle("TCPClient.js",{port:2201,ip:192.168.1.101});

  2.2 監控Web服務器的編程

  系統采用Vert.x的服務器模塊web-server~2.0,實現功能強大的Web服務器,并使用異步模式接收客戶端瀏覽器的HTTP請求,支持客戶高并發的HTTP連接請求,示意代碼如下。

  var container=require("vertx/container");

  container.deployModule("io.vertx~mod-web-server~2.0.0-final",{port:80,host:"localhost",

  bridge:true,

  inbound_permitted:[

  {address:′rtdata.in.receive′},

  {address:′rtdata.out.receive′}

  ]);

  Vert.x通過deployModule載入Web模塊,Web模塊自動將目錄/web作為站點發布目錄,在/web目錄中存儲站點的頁面文件。

  代碼中bridge:true表示將服務器端的事件總線延伸到Web客戶端,實現服務器和客戶端的數據傳輸。每個Verticle都可以在Event Bus注冊事件處理器,以此實現數據的接收和發送。

  2.3 監控客戶端編程

  客戶端使用普通的HTML即可,不需要動態頁面。為實現與Vert.x服務器的Event Bus通信,客戶端頁面需要引入Vert.x的Event Bus Bridge的庫文件vertxbus-2.1.js。

  監控數據顯示使用<div>,使用Bootstrap框架布局,將<div>懸浮在圖片指定位置。監控客戶端頁面的數據接收和顯示代碼如下:

  $(document).ready(function(){

  var eb=new vertx.EventBus(′localhost/eventbus′);

  eb.onopen=function(){

  eb.registerHandler("rtdata.in.receive",function(args){var data=args.data;

  $("#rt1010").html(data);});

  };});

  代碼中關鍵是取得Vert.x的Event Bus對象,通過事件總線提供的vertx.EventBus,使用Javascript創建一個實例即可。如果與服務端的Event Bus連接成功,則eb.onopen回調函數工作。在此方法內,通過Event Bus的registerHandler對指定的地址進行監聽,當有此地址的事件event到達時,定義的回調函數function(args)開始運行,參數args為事件中包含的JSON數據,解析出JSON數據,使用jQuery的函數html()將數據顯示在指定的  <div>元素內,實現監控數據的實時顯示。實時監控系統監控界面如圖2所示。

002.jpg

  3 結論

  Vert.x具有的實時通信、全新的異步響應式工作模式和分布式Event Bus等特性,使其必將在實時系統開發中得到廣泛應用。與Node.js相比,Vert.x以其性能壓倒性的絕對優勢,必將推動實時Web的飛速發展,進而引起Web領域顛覆性的革命,徹底淘汰以AJAX為主的Web2.0,引領新的Web發展趨勢。

參考文獻

  [1] 李玉珠,吳敏,徐福倉.基于Web的煉焦實時監視系統設計與實現[J].自動化與儀表,2009(4):1-4.

  [2] PARVIAINEN T.Real-time Web application development using Vert.x 2.0[M]. Birmingham-Mumbai: Packt Publishing,2013.

  [3] Vert.x[EB/OL]. http://vertx.io/.

  [4] 潛立標,楊馬英,俞立,等.基于Web和S72300 PLC的遠程控制實驗室系統[J].浙江工業大學學報,2007(2):73-77.

  [5] 陳群.基于ASP.NET AJAX新型Web Scada的設計與實現[J].工業控制計算機,2009(6):42-44.

  [6] 趙佳寶,付羽.基于SVG的實時監控流程圖實現技術[J].工業控制計算機,2009(6):10-12.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          女生裸体视频一区二区三区| 亚洲国产精品成人综合| 久久久噜噜噜久久中文字幕色伊伊| 蜜桃av一区二区在线观看| 亚洲精品免费观看| 影院欧美亚洲| 国产精品推荐精品| 亚洲欧美在线一区| 亚洲一区日本| 在线观看国产欧美| 久久精品国产久精国产爱| 亚洲一区二区三区在线观看视频| 国产精品高潮呻吟| 亚洲天堂免费观看| 亚洲精品一区二区三区福利| 久久久欧美精品sm网站| 亚洲国产美国国产综合一区二区| 欧美日韩久久不卡| 国产欧美1区2区3区| 国产伦精品一区二区三区照片91| 欧美亚洲不卡| 国产精自产拍久久久久久| 久久精品国产2020观看福利| 日韩视频亚洲视频| 欧美.日韩.国产.一区.二区| 国产精品成人av性教育| 国产日韩欧美在线观看| 亚洲精品欧美| 久久精品欧美日韩精品| 黄色成人91| 亚洲人成在线观看网站高清| 亚洲欧洲精品一区| 亚洲综合色网站| 免费成人在线观看视频| 国产欧美不卡| 亚洲国产成人91精品| 在线精品国精品国产尤物884a| 女同性一区二区三区人了人一| 欧美伊人久久久久久午夜久久久久| 久久久精品一品道一区| 国产精品免费看| 亚洲国产日韩欧美在线图片| 欧美一区二区三区免费大片| 欧美在线高清视频| 精品成人一区二区三区四区| 欧美影院午夜播放| 亚洲视频每日更新| 麻豆精品视频在线观看视频| 国产精品私拍pans大尺度在线| 亚洲人www| 欧美日本国产在线| 国产欧美日韩中文字幕在线| 亚洲精品免费看| 欧美日韩精品免费在线观看视频| 欧美成年人视频网站| 久久久av毛片精品| 欧美一区二区三区免费观看| 在线观看亚洲| 日韩视频中文| 欧美在线观看视频| 亚洲视频自拍偷拍| 国产欧美一区二区在线观看| 国产精品免费观看在线| 国产日韩欧美一区二区三区四区| 亚洲第一主播视频| 亚洲一区二区网站| 欧美韩国日本综合| 久久久久久久一区二区三区| 麻豆91精品91久久久的内涵| 亚洲日本成人网| 国产精品一区久久久久| 女人天堂亚洲aⅴ在线观看| 99国产精品视频免费观看一公开| 亚洲第一天堂无码专区| 久久久欧美精品| 久久精品亚洲一区二区| 亚洲视频一区二区免费在线观看| 亚洲欧美中文日韩v在线观看| 99v久久综合狠狠综合久久| 亚洲人被黑人高潮完整版| 久久精品天堂| 国产欧美91| 国产精品久久久久永久免费观看| 亚洲人成网站在线观看播放| 蜜臀av性久久久久蜜臀aⅴ四虎| 欧美日韩aaaaa| 欧美视频在线看| 亚洲第一黄色网| 国产在线欧美日韩| 亚洲影院污污.| 在线精品观看| 久久综合伊人77777麻豆| 久久亚洲国产成人| 亚洲国产99| 亚洲图色在线| 午夜精品久久| 香港成人在线视频| 亚洲乱码国产乱码精品精天堂| 国产午夜精品视频免费不卡69堂| 在线成人av.com| 亚洲伊人久久综合| 欧美精品一区二区三| 国产精品成人在线观看| 一区二区三区在线观看国产| 国产精品一区二区黑丝| 国产精品久久久久999| 99re8这里有精品热视频免费| 国产专区欧美专区| 国产精品激情电影| 麻豆成人综合网| 欧美.www| 亚洲一区美女视频在线观看免费| 亚洲欧洲精品一区二区精品久久久| 国产九色精品成人porny| 精品成人一区二区| 国产精品va在线| 亚洲免费精彩视频| 一区二区三区精品视频| 欧美一区二区视频观看视频| 在线午夜精品| 欧美区高清在线| 亚洲午夜国产一区99re久久| 欧美精品麻豆| 国产一区二区三区在线观看免费视频| 欧美天天在线| 欧美精品一区二区三区久久久竹菊| 欧美国产高清| 亚洲黄色大片| 欧美一区二区三区免费视频| 久久久久成人精品免费播放动漫| 亚洲天堂av在线免费观看| 久久免费视频在线观看| 国产在线不卡视频| 国产精品剧情在线亚洲| 老司机午夜精品| 亚洲高清在线| 久久蜜桃av一区精品变态类天堂| 欧美a级一区二区| 一区二区三区四区精品| 欧美国产日韩a欧美在线观看| 亚洲欧美另类久久久精品2019| 久久免费观看视频| 亚洲国产视频一区二区| 免费观看久久久4p| 久久全球大尺度高清视频| 国产精品日韩欧美一区二区三区| 欧美另类久久久品| 亚洲欧美日韩综合| 久久这里有精品15一区二区三区| 激情综合色综合久久| 欧美亚洲日本国产| 欧美日韩伦理在线| 国产精品日韩欧美一区二区三区| 亚洲综合精品自拍| 一区二区在线视频播放| 亚洲欧美综合| 亚洲一区二区欧美日韩| 亚洲曰本av电影| 欧美一级淫片aaaaaaa视频| 国产拍揄自揄精品视频麻豆| 国产一区二区久久| 久久激情综合| 亚洲欧美第一页| 欧美日本韩国一区二区三区| 伊大人香蕉综合8在线视| 欧美亚洲综合网| 欧美精品一区二区三区在线看午夜| 欧美刺激性大交免费视频| 亚洲精品免费观看| 亚洲欧美成人网| 欧美精品国产| 老司机成人网| 日韩视频免费观看| 亚洲人成在线影院| 国模 一区 二区 三区| 国产在线日韩| 国内视频精品| 欧美国产成人精品| 久久婷婷一区| 99re热这里只有精品免费视频| 一区二区三区在线看| 一区二区三区欧美视频| 99视频在线精品国自产拍免费观看| 亚洲免费成人av| 精品白丝av| 亚洲福利视频三区| 在线免费不卡视频| 日韩小视频在线观看专区| 亚洲欧美福利一区二区| 欧美亚洲一区二区在线观看| 欧美一区激情视频在线观看| 亚洲精品日韩综合观看成人91| 国产精品视频内| 欧美精彩视频一区二区三区| 午夜伦欧美伦电影理论片| 亚洲三级免费电影| 国产精品伦子伦免费视频| 国产裸体写真av一区二区| 久久久久久久欧美精品| 一区二区三区日韩欧美精品| 国产精品久久久久久久久久尿| 国产精品毛片a∨一区二区三区|国| 久久久久久夜精品精品免费| 亚洲人体偷拍| 国产精品成人免费| 国产在线精品一区二区夜色| 好吊妞**欧美| 久久精品亚洲乱码伦伦中文| 欧美在线不卡视频| 欧美三区在线观看| 欧美日韩中文字幕日韩欧美| 久久精品男女| 国产一区二区日韩精品| 国产精品videossex久久发布| 欧美一区网站| 亚洲视频一区在线| 翔田千里一区二区| 欧美专区在线观看一区| 亚洲欧美日韩国产一区二区三区| 久久久国产精彩视频美女艺术照福利| 午夜精品久久久久久久久久久久久| 欧美成人免费网| 国产欧美亚洲精品| 亚洲综合清纯丝袜自拍| 欧美国产日韩xxxxx| 久久久久久久高潮| 亚洲美女毛片| 欧美色精品天天在线观看视频| 91久久久亚洲精品| 欧美三级乱人伦电影| 欧美全黄视频| 国产专区欧美专区| 国产精品一二| 麻豆免费精品视频| 性色一区二区三区| 日韩午夜电影在线观看| 久久一区激情| 欧美伊人精品成人久久综合97| 香蕉av福利精品导航| 一本大道久久a久久综合婷婷| 亚洲欧美日本国产专区一区| 亚洲日本电影| 在线看日韩av| 亚洲午夜精品一区二区三区他趣| 国产精品porn| 激情懂色av一区av二区av| 国产女精品视频网站免费| 国外成人免费视频| 国产精品呻吟| 狠狠色香婷婷久久亚洲精品| 欧美福利电影在线观看| 黑丝一区二区三区| 你懂的国产精品| 久久精品国产亚洲高清剧情介绍| 猛男gaygay欧美视频| 亚洲日本理论电影| 久久亚洲风情| 午夜精品偷拍| 久久九九久精品国产免费直播| 亚洲精品国久久99热| 原创国产精品91| 久久男人资源视频| 在线观看欧美激情| 欧美一区二区三区视频在线观看| 亚洲午夜精品在线| 亚洲视频免费在线观看| 国内精品久久久久伊人av| 欧美伦理视频网站| 久久久高清一区二区三区| 一区二区三区四区五区精品| 国产精品久久久久久久久久ktv| 99在线精品免费视频九九视| 日韩午夜剧场| 欧美国产精品| 国产综合在线看| 国产一区av在线| 国产精品男人爽免费视频1| 午夜视频在线观看一区二区三区| 国产精品v欧美精品v日韩精品| 亚洲欧洲日本专区| 欧美另类在线播放| 亚洲精品美女在线观看播放| 亚洲美洲欧洲综合国产一区| 在线观看视频一区| 国产欧美日韩激情| 99视频精品全部免费在线| 男女av一区三区二区色多| 国产精品久久久久99| 久久精品91久久香蕉加勒比| 亚洲美女尤物影院| 亚洲欧美在线观看| 女人香蕉久久**毛片精品| 欧美在线观看网址综合| 一本在线高清不卡dvd| 亚洲欧美一区二区激情| 免费不卡在线观看av| 久久九九久精品国产免费直播| 欧美电影打屁股sp| 亚洲在线视频网站| 麻豆av福利av久久av| 国产伦精品免费视频| 欧美激情中文字幕一区二区| 免费成人小视频| 欧美jizz19hd性欧美| 久久精品国亚洲| 欧美在线免费观看视频| 欧美午夜www高清视频| 国际精品欧美精品| 欧美电影电视剧在线观看| 国产精品免费网站在线观看| 亚洲国产毛片完整版| 一本久久a久久免费精品不卡| 久久国产综合精品| 亚洲系列中文字幕| 欧美一级理论片| 午夜精品999| 麻豆精品视频在线观看| 一区二区日韩精品| 一区二区亚洲欧洲国产日韩| 国产一区二区三区四区在线观看| 国产亚洲精品久久久久婷婷瑜伽| 欧美专区一区二区三区| 在线综合视频| 精品福利av| 亚洲精品美女| 国一区二区在线观看| 欧美亚男人的天堂| 欧美日韩亚洲精品内裤|