Ajax在基于BS模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用_第1頁
Ajax在基于BS模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用_第2頁
Ajax在基于BS模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用_第3頁
Ajax在基于BS模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用_第4頁
Ajax在基于BS模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Ajax在基于B/S模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用摘 要: 針對基于B/S模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)響應(yīng)速度慢、用戶等待時間長等問題,本文闡述了Ajax技術(shù)并將其引入到煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中,Ajax技術(shù)將瀏覽器端和服務(wù)器端傳統(tǒng)的同步交互通信方式改變?yōu)楫惒浇换ネㄐ欧绞?從而減輕了服務(wù)器負(fù)擔(dān)、提高了系統(tǒng)的響應(yīng)速度、增強(qiáng)了煤礦安全生產(chǎn)實時監(jiān)控的能力。關(guān)鍵詞: B/S模式;煤礦安全;Ajax;異步交互目前煤礦安全生產(chǎn)監(jiān)控系統(tǒng)普遍采用的網(wǎng)絡(luò)結(jié)構(gòu)是FCS和DCS,F(xiàn)CS與DCS結(jié)構(gòu)的監(jiān)控系統(tǒng)具有相對的獨立性和封閉性,監(jiān)控系統(tǒng)之間容易形成了“信息孤島”,不利于監(jiān)測信息的共享,隨著煤礦信息化建設(shè)的發(fā)展,

2、很多煤礦都建立了自己的局域網(wǎng)并且連接到Internet,因此開發(fā)基于Internet的B/S結(jié)構(gòu)的遠(yuǎn)程實時監(jiān)控系統(tǒng)具有非常重要的意義?;贐/S模式的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)可以使用戶通過Internet隨時監(jiān)測煤礦安全生產(chǎn)信息,但煤礦安全生產(chǎn)監(jiān)測數(shù)據(jù)量較大,而且需要實時更新的數(shù)據(jù)量大,進(jìn)而導(dǎo)致了客戶端瀏覽器刷新頻率較高、網(wǎng)絡(luò)傳輸速度的下降,從而使得煤礦安全生產(chǎn)監(jiān)測的效率下降。將Ajax引入監(jiān)測系統(tǒng),可以實現(xiàn)頁面的粒狀更新,避免頁面刷新時出現(xiàn)“白屏”現(xiàn)象,提高了其響應(yīng)速度,增強(qiáng)了其交互能力,提高了煤礦安全生產(chǎn)實時監(jiān)控的能力。1 AjaxAjax是一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù),全稱為“Asy

3、nchronous JavaScript and XML”,其核心是JavaScript對象XML-HttpRequest,它是一種支持異步請求的技術(shù),XMLHttpRequest可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng)。Ajax體系結(jié)構(gòu)比傳統(tǒng)的Web體系結(jié)多了一個Ajax引擎,安裝在瀏覽器客戶端中,在接受到用戶界面?zhèn)鱽淼腏avaScript調(diào)用后,發(fā)送請求到服務(wù)器,Ajax來完成用戶界面上的粒狀更新,縮短了用戶界面和服務(wù)器的交互過程的時間,提高了效率。Ajax引擎可以實現(xiàn)瀏覽器和服務(wù)器信息交互的異步化。一方面,通過JavaScript腳本編程語言靈活地處理各種用戶請求,并利用D

4、OM和CSS完成用戶界面的動態(tài)和格式化顯示;另一方面,在無需刷新和重載瀏覽器頁面的前提下,通過JavaScrip,利用XMLHttpRequest對象與服務(wù)器進(jìn)行線路化的數(shù)據(jù)交換,如圖1所示。Ajax結(jié)構(gòu)體系有以下優(yōu)點:1) 中間層引擎承擔(dān)了一部分服務(wù)器處理數(shù)據(jù)的工作,可以減輕用戶請求造成的網(wǎng)絡(luò)服務(wù)器的負(fù)擔(dān);2) 客戶端與服務(wù)器端異步交互的特點使得頁面更新無需重載,大大縮短了用戶等待時間,提高了數(shù)據(jù)更新的效率;3) JavaScript、XMLHttpRequest等已經(jīng)被瀏覽器廣泛支持,其通用性大大提高。2 Ajax在煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中的應(yīng)用及實現(xiàn)2.1 開發(fā)平臺系統(tǒng)開發(fā)過程中,操作系統(tǒng)

5、采用Windows Server 2003,開發(fā)工具采用VisualStudio.NET 2008,數(shù)據(jù)庫則采用SQL Server 2005。2.2具體實現(xiàn)在具體的程序?qū)崿F(xiàn)過程中綜合運用了Ajax技術(shù)以及ASP.NET技術(shù)來實現(xiàn)煤礦安全生產(chǎn)監(jiān)控數(shù)據(jù)的動態(tài)刷新。一個完整的Ajax執(zhí)行步驟如圖2所示。本系統(tǒng)采用XmlHttpRequest對象的responseXML屬性來返回煤礦安全生產(chǎn)數(shù)據(jù)信息,下文給出了煤礦安全生產(chǎn)數(shù)據(jù)信息粒狀更新的實現(xiàn)過程:1) 初始化XMLHttpRequest對象。在本系統(tǒng)中,采用環(huán)境下的C#語言創(chuàng)建XMLHttpRequest代碼如下:2) 指定響應(yīng)處理函數(shù)。將相應(yīng)的

6、處理函數(shù)名稱賦給XMLHttpReques對象onReadyStateChange屬性。實現(xiàn)關(guān)鍵代碼:xmlhttp.onReadyStateChange=processRequest;3) 發(fā)送HTTP請求,指定了響應(yīng)處理函數(shù)后,便可以向服務(wù)器發(fā)出HTTP請求了。這一步調(diào)用XMLHttpRequest對象的open()和send()方法:xmlhttp.open("post","url?參數(shù)1="+值1+"參數(shù)2="+值2.+"參數(shù)n="+值n.;xmlhttp.send(null);4) 處理服務(wù)器返回的信息。

7、首先,要檢查XMLHttpRequest對象的readyState值,判斷請求目前的狀態(tài)。readyState值為4的時候,代表服務(wù)器已經(jīng)傳回所有的信息,可以處理并更新頁面內(nèi)容了。if(xmlhttp.readyState=4)/信息已經(jīng)返回,可以開始處理else/信息還沒有返回,等待if(xmlhttp.status=200)/頁面正常,可以開始處理else/頁面有問題5) 實現(xiàn)數(shù)據(jù)查詢頁面的粒狀更新本系統(tǒng)采用XmlHttpRequest對象的responseXML屬性來返回煤礦安全生產(chǎn)數(shù)據(jù),因此,在客戶端接收到的參數(shù)是XML文檔對象,調(diào)用fillTable(xmlobj)方法,該方法首先獲

8、得服務(wù)器端返回的XML文檔對象的節(jié)點,之后創(chuàng)建表格對象,然后用for語句動態(tài)產(chǎn)生單元格,緊接著再來逐次填充表格中的每一個<td>節(jié)點,從而實現(xiàn)了監(jiān)控數(shù)據(jù)頁面的粒狀更新,實現(xiàn)的關(guān)鍵函數(shù)fillTable(xmlobj)如下:/獲取xml對象var xmlobj=xmlhttp.responseXML;var66data=xmlobj.getElementsByTag-Name("data");var datalen=data.ChildNodes();/創(chuàng)建表格對象vartable=document.createElement("table")

9、;/動態(tài)產(chǎn)生并填充單元格for(var i=0;i<data.length;i+)var-tr=-table.insertRow(i);for(var j=0;j<datalen;j+)var-td=-tr.insertCell(j);-tn=datai.ChildNode(j).NodeValue;-td.appendChild(-tn);煤礦安全生產(chǎn)監(jiān)控系統(tǒng)歷史數(shù)據(jù)查詢網(wǎng)頁粒狀更新界面如圖3所示。3 結(jié)束語在基于B/S模式下的煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中,由于在一個頁面上需要監(jiān)控的數(shù)據(jù)較多,安全生產(chǎn)數(shù)據(jù)更新頻率高,如果使用傳統(tǒng)的全屏刷新方式更新數(shù)據(jù),不僅不利于用戶的監(jiān)控,還給服務(wù)器造

10、成了較大的壓力,系統(tǒng)效率低下而且也不穩(wěn)定。將Ajax技術(shù)引入到煤礦安全生產(chǎn)監(jiān)控系統(tǒng)中,可以很方便地解決這些問題,既調(diào)高了用戶的監(jiān)控的效率,也使得系統(tǒng)的穩(wěn)定性得到提高,該技術(shù)已經(jīng)在兗礦集團(tuán)興隆莊煤礦投入使用,效果良好。參考文獻(xiàn):1 耿濤,宋宜梅,向家偉,韋星,植海深.基于OSA-CBM煤礦機(jī)械故障診斷系統(tǒng)的設(shè)計與研究J.煤礦機(jī)械,2008(5):12-15.2 賈宗璞,葳鵬,賈祥芝.多媒體礦井監(jiān)控系統(tǒng)的WEB發(fā)布J.工礦自動化,2004(6):23-25.3 Ryan Asleson,Nathaniel T.Schutta,金靈譯.Ajax基礎(chǔ)教程M.北京:人民郵電出版社,2006.4 陽鋒,徐建波.AJ

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論