• 幫助中心
  • >
  • 多比圖形控件在B/S的煤礦安全生産監控系統中的應用
多比圖形控件在B/S的煤礦安全生産監控系統中的應用
  • 2000-01-01 00:00:00
  • 關鍵字: B/S模式 煤礦安全 Ajax 異步交互

摘  要:  針對基于B/S模式的煤礦安全生産監控系統響應速度慢、用戶等待時間長等問題,本文闡述了多比圖形控件技術并将其引入到煤礦安全生産監控系統中,利用Ajax技術将浏覽器端和服務器端傳統的同步交互通信方式改變為異步交互通信方式,從而減輕了服務器負擔、提高了系統的響應速度、增強了煤礦安全生産實時監控的能力。

關鍵詞:  B/S模式;煤礦安全;Ajax;異步交互

 

目前煤礦安全生産監控系統普遍采用的網絡結構是FCS和DCS,FCS與DCS結構的監控系統具有相對的獨立性和封閉性,監控系統之間容易形成了“信息孤島”,不利于監測信息的共享,随着煤礦信息化建設的發展,很多煤礦都建立了自己的局域網并且連接到Internet,因此開發基于Internet的B/S結構的遠程實時監控系統具有非常重要的意義。

基于B/S模式的煤礦安全生産監控系統可以使用戶通過Internet随時監測煤礦安全生産信息,但煤礦安全生産監測數據量較大,而且需要實時更新的數據量大,進而導緻了客戶端浏覽器刷新頻率較高、網絡傳輸速度的下降,從而使得煤礦安全生産監測的效率下降。将Ajax引入監測系統,可以實現頁面的粒狀更新,避免頁面刷新時出現“白屏”現象,提高了其響應速度,增強了其交互能力,提高了煤礦安全生産實時監控的能力。

 

多比圖形控件在B/S的煤礦安全生産監控系統中的應用

多比圖形控件

多比圖形控件是一款基于Web(VML和SVG技術)的矢量圖形控件, 類似于網頁上的Visio控件,是目前國内外最佳的基于web的工作流設計器、工作流流程監視器解決方案。 可廣泛應用于包括:電力、軍工、煤炭、化工、科研、能源等各種監控軟件、web工作流設計器、asp.net工作流設計器、電力、化工、煤炭、工控組态軟件、仿真、地理信息系統、工作流、複雜報表 工業SCADA系統、ERP流程設計系統、圖形管理、圖形拓撲分析、GIS地理信息系統系統、工程制圖等領域。目前已經為全球20多個國家的數千家客戶采用。

1   Ajax

Ajax是一種創建交互式網頁應用的網頁開發技術,全稱為“Asynchronous JavaScript and XML”,其核心是JavaScript對象XML-HttpRequest[,它是一種支持異步請求的技術,XMLHttpRequest可以使用JavaScript向服務器提出請求并處理響應。

Ajax體系結構比傳統的Web體系結多了一個Ajax引擎,安裝在浏覽器客戶端中,在接受到用戶界面傳來的JavaScript調用後,發送請求到服務器,Ajax來完成用戶界面上的粒狀更新,縮短了用戶界面和服務器的交互過程的時間,提高了效率。

 

Ajax結構體系有以下優點:

1) 中間層引擎承擔了一部分服務器處理數據的工作,可以減輕用戶請求造成的網絡服務器的負擔;

2) 客戶端與服務器端異步交互的特點使得頁面更新無需重載,大大縮短了用戶等待時間,提高了數據更新的效率;

3) JavaScript、XMLHttpRequest等已經被浏覽器廣泛支持,其通用性大大提高。

2   Ajax在煤礦安全生産監控系統中的應用及實現

2.1  開發平台

系統開發過程中,操作系統采用Windows Server 2003,開發工具采用VisualStudio.NET 2008,數據庫則采用SQL Server 2005。2.2具體實現在具體的程序實現過程中綜合運用了Ajax技術以及ASP.NET技術來實現煤礦安全生産監控數據的動态刷新。一個完整的Ajax執行步驟如圖2所示。

 

本系統采用XmlHttpRequest對象的responseXML屬性來返回煤礦安全生産數據信息,下文給出了煤礦安全生産數據信息粒狀更新的實現過程:

1)  初始化XMLHttpRequest對象。在本系統中,采用asp.net環境下的C#語言創建XMLHttpRequest代碼如下:

 

2)  指定響應處理函數。

将相應的處理函數名稱賦給XMLHttpReques對象onReadyStateChange屬性。實現關鍵代碼:

xmlhttp.onReadyStateChange=processRequest;

3)  發送HTTP請求,指定了響應處理函數後,便可以向服務器發出HTTP請求了。

這一步調用XMLHttpRequest對象的open()和send()方法:

xmlhttp.open("post","url?參數1="+值1+"參數2="+值2.....+"參數n="+值n.;

xmlhttp.send(null);

4)  處理服務器返回的信息。

首先,要檢查XMLHttpRequest對象的readyState值,判斷請求目前的狀态。readyState值為4的時候,代表服務器已經傳回所有的信息,可以處理并更新頁面内容了。

if(xmlhttp.readyState==4){

//信息已經返回,可以開始處理

}else

{

//信息還沒有返回,等待

}

if(xmlhttp.status==200){

//頁面正常,可以開始處理

}else

{

//頁面有問題

}

5)  實現數據查詢頁面的粒狀更新

本系統采用XmlHttpRequest對象的responseXML屬性來返回煤礦安全生産數據,因此,在客戶端接收到的參數是XML文檔對象,調用fillTable(xmlobj)方法,該方法首先獲得服務器端返回的XML文檔對象的節點,之後創建表格對象,然後用for語句動态産生單元格,緊接着再來逐次填充表格中的每一個<td>節點,從而實現了監控數據頁面的粒狀更新。

 

 

3  結束語

在基于B/S模式下的煤礦安全生産監控系統中,由于在一個頁面上需要監控的數據較多,安全生産數據更新頻率高,如果使用傳統的全屏刷新方式更新數據,不僅不利于用戶的監控,還給服務器造成了較大的壓力,系統效率低下

 

而且也不穩定。将Ajax技術引入到煤礦安全生産監控系統中,可以很方便地解決這些問題,既調高了用戶的監控的效率,也使得系統的穩定性得到提高,該技術已經在兖礦集團興隆莊煤礦投入使用,效果良好。

http://m.juhua835847.cn|http://wap.juhua835847.cn|http://www.juhua835847.cn||http://juhua835847.cn