周 剛,王小玲,梁興建
(四川理工學(xué)院計(jì)算機(jī)科學(xué)院,四川 自貢 643000)
隨著3G無(wú)線網(wǎng)絡(luò)時(shí)代的到來(lái)以及手機(jī)操作系統(tǒng)的快速發(fā)展和移動(dòng)設(shè)備硬件性能的提升,移動(dòng)設(shè)備已進(jìn)入智能化階段,在移動(dòng)設(shè)備上得以實(shí)現(xiàn)更多的應(yīng)用[1-2]。為提高工作效率,做到隨時(shí)隨地監(jiān)測(cè)氣站信息,設(shè)計(jì)了氣田手持移動(dòng)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)只要在無(wú)線網(wǎng)絡(luò)覆蓋區(qū)域,可隨時(shí)隨地對(duì)氣站進(jìn)行監(jiān)測(cè),滿(mǎn)足日益凸顯的移動(dòng)辦公服務(wù)需求。
目前氣田計(jì)算機(jī)網(wǎng)絡(luò)已經(jīng)延伸到了生產(chǎn)一線,使得氣田的生產(chǎn)運(yùn)行管理可以在作業(yè)區(qū)(現(xiàn)場(chǎng)井站)、氣礦(營(yíng)銷(xiāo)部)到分公司(管理中心)這樣一個(gè)分布式體系結(jié)構(gòu)中實(shí)施遠(yuǎn)程監(jiān)控對(duì)生產(chǎn)一線數(shù)據(jù)進(jìn)行集中管理。然而管理部門(mén)的生產(chǎn)、銷(xiāo)售、安全數(shù)據(jù)來(lái)源呈現(xiàn)全分布性和海量性,隨著產(chǎn)能任務(wù)的加大,氣田數(shù)據(jù)急劇增多,如何對(duì)這些數(shù)據(jù)進(jìn)行有效的管理,使其更好的服務(wù)于企業(yè)的生產(chǎn)決策,是氣田監(jiān)控系統(tǒng)中一個(gè)非常重要的環(huán)節(jié)。
氣田遠(yuǎn)程監(jiān)控系統(tǒng)一方面接收生產(chǎn)一線的實(shí)時(shí)數(shù)據(jù),進(jìn)行實(shí)時(shí)監(jiān)控;一方面對(duì)實(shí)時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ)。因此,根據(jù)數(shù)據(jù)的動(dòng)態(tài)特性,可以將其分為瞬態(tài)數(shù)據(jù)和歷史數(shù)據(jù)。瞬態(tài)數(shù)據(jù)只反映當(dāng)時(shí)時(shí)刻設(shè)備或管線的運(yùn)行情況,孤立時(shí)刻的參量對(duì)我們的應(yīng)用分析沒(méi)有實(shí)際意義,這樣歷史數(shù)據(jù)的管理就顯得十分重要。傳統(tǒng)存儲(chǔ)歷史數(shù)據(jù)的方法為實(shí)時(shí)數(shù)據(jù)的簡(jiǎn)單堆積,這樣既浪費(fèi)空間也浪費(fèi)時(shí)間。鑒于數(shù)據(jù)的時(shí)間局部性原理,某一時(shí)間點(diǎn)附近的數(shù)據(jù)量非常接近,因此在歷史數(shù)據(jù)的分析方面提出基于數(shù)據(jù)變化率的自適應(yīng)數(shù)據(jù)壓縮存儲(chǔ)方法。
在滿(mǎn)足日常業(yè)務(wù)方面,由于需要記錄氣井、管線的整點(diǎn)運(yùn)行情況,提出了實(shí)時(shí)數(shù)據(jù)的整點(diǎn)分離方法再結(jié)合數(shù)據(jù)倉(cāng)庫(kù)技術(shù),數(shù)據(jù)按小時(shí)、日、月、年等低、中、高粒度進(jìn)行處理為生產(chǎn)、銷(xiāo)售、安全等部分業(yè)務(wù)提供支持[2]。
目前氣田生產(chǎn)管理中基于移動(dòng)設(shè)備(如智能手機(jī))的應(yīng)用還沒(méi)有開(kāi)展,這主要受制于前期移動(dòng)網(wǎng)絡(luò)的帶寬和手機(jī)性能等多方面的限制,要使用移動(dòng)設(shè)備進(jìn)行實(shí)時(shí)監(jiān)測(cè)就需要構(gòu)建一個(gè)WAP網(wǎng)站。構(gòu)建這樣的WAP應(yīng)用要充分的考慮到以下三方面:
(1)由于移動(dòng)設(shè)備的性能遠(yuǎn)不如PC機(jī),對(duì)于復(fù)雜的數(shù)據(jù)處理會(huì)影響到人機(jī)交互效果。因此要充分考慮系統(tǒng)的可用性。
(2)氣田的需求會(huì)隨著生產(chǎn)的需求發(fā)生變動(dòng),系統(tǒng)應(yīng)該有足夠的靈活性和可擴(kuò)展性。
(3)該系統(tǒng)是一個(gè)實(shí)時(shí)監(jiān)測(cè)系統(tǒng),在不做特殊處理時(shí),客戶(hù)端對(duì)服務(wù)器的每一次請(qǐng)求(即讀取每一次采樣數(shù)據(jù))都將導(dǎo)致整個(gè)頁(yè)面的刷新。對(duì)于實(shí)時(shí)性要求高的氣田工業(yè)控制來(lái)說(shuō),這樣的頁(yè)面刷新是不可忍受也是不現(xiàn)實(shí)的。因此解決頁(yè)面頻繁刷新問(wèn)題也是是保證系統(tǒng)可用性的關(guān)鍵。
系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖如圖1所示。
圖1 氣田移動(dòng)監(jiān)測(cè)系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)圖
由溫度、壓力等傳感器、變送器、流量計(jì)、工業(yè)控制機(jī)和上位計(jì)算機(jī)等多種智能設(shè)備構(gòu)成的現(xiàn)場(chǎng)工控網(wǎng)絡(luò)負(fù)責(zé)生產(chǎn)數(shù)據(jù)、壓力、差壓和溫度等數(shù)據(jù)實(shí)時(shí)采集。而后由帶有GPRS模塊的ZigBee主節(jié)點(diǎn)通過(guò)無(wú)線基站匯集到internet上。這樣就實(shí)現(xiàn)了遠(yuǎn)程數(shù)據(jù)和數(shù)據(jù)服務(wù)器的交換。移動(dòng)終端通過(guò)WAP網(wǎng)關(guān)接入internet,查看和控制遠(yuǎn)程的無(wú)線網(wǎng)絡(luò)節(jié)點(diǎn)數(shù)據(jù)和工作狀態(tài)。ZigBee網(wǎng)絡(luò)遵循IEEE 802.15.4技術(shù)標(biāo)準(zhǔn)和ZigBee網(wǎng)絡(luò)協(xié)議,有著近距離、低復(fù)雜度、低功耗、低數(shù)據(jù)速率和低成本等諸多優(yōu)點(diǎn),因此非常適合在本系統(tǒng)中完成信息的傳輸與控制[3-4]。同時(shí)GPRS數(shù)據(jù)終端與Internet數(shù)據(jù)服務(wù)器通過(guò)無(wú)線基站進(jìn)行連接,實(shí)現(xiàn)一對(duì)一的數(shù)據(jù)交互,可以避免遠(yuǎn)程有線網(wǎng)絡(luò)布線的高成本問(wèn)題。
歷史數(shù)據(jù)根據(jù)數(shù)據(jù)變化率來(lái)進(jìn)行存儲(chǔ),該方式可以讓用戶(hù)根據(jù)各個(gè)參量不同的量綱指定一個(gè)變化的精度,即預(yù)先設(shè)定變化率閥值,當(dāng)數(shù)據(jù)發(fā)生變化時(shí),如果系統(tǒng)發(fā)現(xiàn)當(dāng)前采樣數(shù)據(jù)和最近保存數(shù)據(jù)之差和數(shù)據(jù)量程之比在用戶(hù)指定的變化精度之內(nèi),記錄當(dāng)前采樣點(diǎn)數(shù)據(jù)作為臨時(shí)數(shù)據(jù),但不作為最終保存數(shù)據(jù),當(dāng)下一個(gè)采樣點(diǎn)數(shù)據(jù)變化率仍在變化率閥值內(nèi),就用這個(gè)采樣點(diǎn)覆蓋上一個(gè)采樣臨時(shí)數(shù)據(jù),仍然不作為歷史數(shù)據(jù)保存,只有采樣點(diǎn)數(shù)據(jù)超過(guò)了用戶(hù)指定的變化率之后,系統(tǒng)才認(rèn)為數(shù)據(jù)真的發(fā)生了變化,就把該參量臨時(shí)數(shù)據(jù)和當(dāng)前采樣點(diǎn)數(shù)據(jù)保存為歷史數(shù)據(jù)。這種保存方式反映了數(shù)據(jù)的變化,同時(shí)記錄了數(shù)據(jù)變化的拐點(diǎn)位置,歷史數(shù)據(jù)失真小,保存的歷史數(shù)據(jù)的誤差在用戶(hù)的控制之內(nèi),而且還有效的壓縮了數(shù)據(jù),同時(shí)在采樣周期小的情況下,能節(jié)省存儲(chǔ)空間。由于數(shù)據(jù)實(shí)時(shí)上傳,實(shí)時(shí)壓縮,能夠根據(jù)上傳數(shù)值,改變壓縮策略,所以能夠自動(dòng)適應(yīng)數(shù)據(jù)的變化。因此基于數(shù)據(jù)變化率的自適應(yīng)數(shù)據(jù)壓縮技術(shù)在歷史數(shù)據(jù)管理中具有實(shí)際的意義。原理如圖2所示。
圖2 數(shù)據(jù)變化拐點(diǎn)記錄示意圖
圖2中記錄點(diǎn)1、記錄點(diǎn)3、記錄點(diǎn)5,均超過(guò)了數(shù)據(jù)變化率,故記錄這些點(diǎn),拐點(diǎn)記錄點(diǎn)2、拐點(diǎn)記錄點(diǎn)4記錄變化的位置也屬于重要點(diǎn)也需記錄,當(dāng)需要還原沒(méi)有記錄點(diǎn)數(shù)據(jù)時(shí),可通過(guò)二次插值進(jìn)行恢復(fù)。如果變化率定義為1%,意味著每個(gè)采樣數(shù)據(jù)都被記錄,此時(shí)數(shù)據(jù)的存儲(chǔ)是無(wú)損的,通過(guò)以上的壓縮方式,使得歷史數(shù)據(jù)的記錄更加準(zhǔn)確,同時(shí)極大地提高經(jīng)濟(jì)存儲(chǔ)的性能。
由于采集、傳輸及采樣頻率等影響,現(xiàn)場(chǎng)設(shè)備在整點(diǎn)時(shí)刻極有可能沒(méi)有采樣到數(shù)據(jù),可能在整點(diǎn)附近采樣到數(shù)據(jù),而這附近的數(shù)據(jù)應(yīng)該與整點(diǎn)采樣數(shù)據(jù)非常接近,所以實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)整點(diǎn)分離有三種方法:一是取得要統(tǒng)計(jì)的整點(diǎn)的前一個(gè)最大時(shí)刻的數(shù)據(jù),作為整點(diǎn)數(shù)據(jù)的近似值;二是取得要統(tǒng)計(jì)的整點(diǎn)的當(dāng)前整點(diǎn)最小時(shí)刻的數(shù)據(jù),作為整點(diǎn)數(shù)據(jù)的近似值;三是取得統(tǒng)計(jì)整點(diǎn)的前一個(gè)最大時(shí)刻的數(shù)據(jù)和取得統(tǒng)計(jì)整點(diǎn)的當(dāng)前整點(diǎn)最小時(shí)刻的數(shù)據(jù),把這兩者數(shù)據(jù)求加權(quán)平均。前兩種方法統(tǒng)計(jì)到的整點(diǎn)數(shù)據(jù),一般誤差較大,而第三種方法綜合了前兩種方法,求得的整點(diǎn)數(shù)據(jù)更加接近真實(shí)數(shù)據(jù),是一種比較好的分離方法。這樣在求得整點(diǎn)數(shù)據(jù)后,就可以在此基礎(chǔ)上構(gòu)建日、月、年等粒度的數(shù)據(jù),滿(mǎn)足日常報(bào)表、數(shù)據(jù)分析的需要。
考慮到系統(tǒng)的實(shí)用性、靈活性和可擴(kuò)展性。系統(tǒng)功能設(shè)計(jì)應(yīng)盡量簡(jiǎn)化和易操作。整個(gè)氣田手持移動(dòng)監(jiān)測(cè)系統(tǒng)功能模塊分為系統(tǒng)維護(hù)模塊、實(shí)時(shí)監(jiān)測(cè)模塊、數(shù)據(jù)查詢(xún)管理模塊。
系統(tǒng)維護(hù)模塊主要進(jìn)行用戶(hù)的管理、數(shù)據(jù)備份和恢復(fù)及采樣周期設(shè)置;系統(tǒng)對(duì)用戶(hù)劃分了權(quán)限,對(duì)不同的管理人員進(jìn)行權(quán)限設(shè)置,高級(jí)別權(quán)限用戶(hù)才能對(duì)數(shù)據(jù)進(jìn)行管理操作,從而保證數(shù)據(jù)的安全性。采樣周期設(shè)置功能是為了滿(mǎn)足系統(tǒng)的靈活性和數(shù)據(jù)完整性,由于數(shù)據(jù)采樣頻率會(huì)根據(jù)生產(chǎn)需要進(jìn)行調(diào)整,因此在客戶(hù)端應(yīng)保持和GPRS發(fā)射終端的發(fā)射頻率保持一致,來(lái)維護(hù)數(shù)據(jù)的完整性。
實(shí)時(shí)監(jiān)測(cè)模塊可實(shí)時(shí)的查看某一氣站的生產(chǎn)銷(xiāo)售數(shù)據(jù),如溫度、壓力、流量等,并以模擬的現(xiàn)場(chǎng)管網(wǎng)直觀呈現(xiàn)出來(lái),并輔助直觀的實(shí)時(shí)曲線功能,包括實(shí)時(shí)曲線和歷史曲線,還可以進(jìn)行報(bào)警參數(shù)的設(shè)置和報(bào)警提示。在實(shí)際應(yīng)用中,由于部分氣站管網(wǎng)較復(fù)雜,監(jiān)測(cè)點(diǎn)較多,考慮到移動(dòng)設(shè)備的可視范圍,應(yīng)精簡(jiǎn)監(jiān)測(cè)點(diǎn),保留常用的監(jiān)測(cè)點(diǎn),同時(shí)歷史曲線的時(shí)間間隔選擇范圍不易過(guò)大,避免產(chǎn)生較大的延時(shí)。
查詢(xún)管理模塊主要完成歷史數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)的查詢(xún)以及報(bào)表管理。由于移動(dòng)終端屏幕大小有限,查詢(xún)?cè)O(shè)計(jì)采用下拉列表選擇查詢(xún)的方式進(jìn)行,以避免因屏幕過(guò)小,顯示不出完整的查詢(xún)結(jié)果。報(bào)表管理主要進(jìn)行氣井或輸氣站的日?qǐng)?bào)、月報(bào)統(tǒng)計(jì),在報(bào)表設(shè)計(jì)的時(shí)候也根據(jù)屏顯效果進(jìn)行一定的精簡(jiǎn),保留常用的統(tǒng)計(jì)。
本系統(tǒng)集成了WAP2.0,采用XHTML Mobile Profile(XHTML MP)作為標(biāo)記語(yǔ)言。開(kāi)發(fā)工具采用VS2008,數(shù)據(jù)庫(kù)采用SQL SERVER2005。XHTML MP是XHTML的子集,是HTML更嚴(yán)格的版本。相對(duì)于早期的WAP網(wǎng)站開(kāi)發(fā)所采用的WML以及WML SCRIPT而言,XHTMLMP的目的是讓開(kāi)發(fā)移動(dòng)信息瀏覽的技術(shù)和開(kāi)發(fā)WWW信息瀏覽的技術(shù)更相近,即把移動(dòng)因特網(wǎng)瀏覽和萬(wàn)維網(wǎng)瀏覽的技術(shù)結(jié)合起來(lái),因此XHTMLMP語(yǔ)言更接近現(xiàn)有的Web開(kāi)發(fā)語(yǔ)言,使得無(wú)線世界和有線世界的標(biāo)記語(yǔ)言最終匯聚到了一起,仍然可以用現(xiàn)有的Web的開(kāi)發(fā)工具來(lái)開(kāi)發(fā)WAP,且可在原型化和開(kāi)發(fā)過(guò)程中用任何Web瀏覽器查看[5]。
氣田生產(chǎn)管理數(shù)據(jù)包括井站、輸氣站、銷(xiāo)售站等數(shù)據(jù),數(shù)據(jù)種類(lèi)繁多,在實(shí)際生產(chǎn)管理中不是僅僅對(duì)這些數(shù)據(jù)進(jìn)行簡(jiǎn)單的查詢(xún),涉及到大量的數(shù)據(jù)處理工作。因此本系統(tǒng)采用基于XMLWeb Services的分布式計(jì)算模型,在服務(wù)提供方面重點(diǎn)包裝安全預(yù)警、生產(chǎn)實(shí)時(shí)服務(wù)、歷史管理服務(wù)、整點(diǎn)數(shù)據(jù)生成、遠(yuǎn)程控制和事故預(yù)測(cè)等服務(wù)。在.NET的環(huán)境下,通過(guò)ASP.NET把服務(wù)的各項(xiàng)應(yīng)用細(xì)節(jié)封裝成Web Services部件后發(fā)布到UDDI注冊(cè)中心,并通過(guò)接口調(diào)用相應(yīng)的應(yīng)用。其中接口描述了一組可訪問(wèn)的操作,如報(bào)警生成、實(shí)時(shí)數(shù)據(jù)生成、整點(diǎn)參量獲取,接口可使用WSDL(Web Services Description Language)進(jìn)行描述,Web Services提供的這種“黑匣子”函數(shù)可以被多次引用而不用關(guān)心此服務(wù)是怎樣實(shí)現(xiàn)。
一般氣田下屬井站或輸氣站較多,因此在此系統(tǒng)中將會(huì)使用大量的監(jiān)測(cè)背景圖片。很多WAP瀏覽器沒(méi)有水平滾動(dòng)條,如果監(jiān)測(cè)背景圖片超過(guò)設(shè)備的屏幕尺寸,就只能顯示局部圖片。同時(shí)圖片過(guò)大,加載時(shí)間也會(huì)過(guò)長(zhǎng),影響用戶(hù)體驗(yàn)。因此對(duì)背景圖片應(yīng)做相應(yīng)的裁減,并采用GIF格式減少傳輸量。同時(shí)為節(jié)省屏幕空間,優(yōu)化界面布局,站場(chǎng)選擇采用下拉列表。對(duì)于較大型的站場(chǎng),監(jiān)測(cè)管線可能多至七、八條,監(jiān)測(cè)點(diǎn)數(shù)量也較多,受終端屏幕限制,不能在一個(gè)屏幕中顯示所有監(jiān)測(cè)管線和監(jiān)測(cè)點(diǎn),對(duì)于該問(wèn)題,對(duì)監(jiān)測(cè)管線進(jìn)行分離,采用分頁(yè)的辦法,一個(gè)屏幕中顯示兩條管線,可達(dá)到較好的視覺(jué)效果(圖3)。
圖3 監(jiān)測(cè)效果圖
在實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)監(jiān)測(cè)中,其最大的特點(diǎn)在于它的實(shí)時(shí)性。也就是說(shuō)服務(wù)器端腳本只能在服務(wù)器端運(yùn)行,客戶(hù)端只是接收服務(wù)器端運(yùn)行后生成的XHTML MP格式的文本,所以客戶(hù)端對(duì)服務(wù)器的任何請(qǐng)求都將導(dǎo)致整個(gè)頁(yè)面的刷新。因此構(gòu)建這樣一個(gè)WEB應(yīng)用最大的問(wèn)題在于如何解決頁(yè)面的頻繁刷新。在實(shí)際應(yīng)用中我們采用AJAX技術(shù)來(lái)解決WEB頁(yè)面實(shí)時(shí)刷新的瓶頸問(wèn)題。具體的實(shí)現(xiàn)采用JavaScript,客戶(hù)端實(shí)時(shí)發(fā)出請(qǐng)求,生成XmlHttp對(duì)象,該對(duì)象調(diào)用后臺(tái)腳本進(jìn)行數(shù)據(jù)庫(kù)的連接和數(shù)據(jù)的讀取。由于一個(gè)氣場(chǎng)有多條管線,每條管線有多種監(jiān)測(cè)數(shù)據(jù),為了區(qū)分具體某一管線的具體監(jiān)測(cè)數(shù)據(jù),在數(shù)據(jù)的讀取過(guò)程中需要進(jìn)行編碼,同時(shí)在客戶(hù)端也需要一個(gè)解碼的過(guò)程。
該系統(tǒng)實(shí)時(shí)性要求高,延時(shí)問(wèn)題是系統(tǒng)能否真實(shí)反映監(jiān)測(cè)數(shù)據(jù)同步的關(guān)鍵,同時(shí)也是影響用戶(hù)體驗(yàn)的重要因素。在數(shù)據(jù)庫(kù)服務(wù)器中,現(xiàn)行實(shí)時(shí)數(shù)據(jù)的更新頻率是10秒。采用中國(guó)電信CDMA 1X移動(dòng)網(wǎng)絡(luò)作為系統(tǒng)測(cè)試網(wǎng)絡(luò),現(xiàn)有的CDMA 1X網(wǎng)絡(luò)理論速率153.6 Kbps,實(shí)際測(cè)試速率為70 Kbps~90 Kbps之間??刂品?wù)器發(fā)送碼流的碼率為60 Kbps,基本接近CDMA 1X網(wǎng)絡(luò)的實(shí)際帶寬上限??蛻?hù)端采用的終端是三星和酷派2個(gè)品牌的5款手機(jī)。表1顯示了各個(gè)手機(jī)的型號(hào)和硬件參數(shù)以及客戶(hù)端在相應(yīng)手機(jī)上的運(yùn)行時(shí)延。
從表1看出,在數(shù)據(jù)更新頻率為10秒的時(shí)候,五款手機(jī)的延時(shí)均為0.5秒左右,和數(shù)據(jù)庫(kù)服務(wù)器基本同步,能夠較好的反映數(shù)據(jù)實(shí)時(shí)更新。也說(shuō)明了3G無(wú)線帶寬能夠很好的滿(mǎn)足現(xiàn)行需要。
表1 各手機(jī)參數(shù)與延時(shí)對(duì)比
基于WAP的氣田手持移動(dòng)監(jiān)測(cè)系統(tǒng)較好的滿(mǎn)足了氣田管理移動(dòng)辦公的需要,真正做到了氣田全方位立體化監(jiān)測(cè),進(jìn)一步豐富和深化了氣田的數(shù)字化建設(shè),只要在手機(jī)信號(hào)覆蓋區(qū)域,使用者可隨時(shí)隨地了解站場(chǎng)生產(chǎn)動(dòng)態(tài)信息,合理組織生產(chǎn),提高管理水平和生產(chǎn)效率。具有較好的應(yīng)用前景和推廣價(jià)值。
[1]周 剛,唐子蛟.基于網(wǎng)格的氣田監(jiān)控決策系統(tǒng)[J].四川理工學(xué)院學(xué)報(bào):自然科學(xué)版,2010,23(4):417-419.
[2]周 剛,王小玲,魏正曦.基于移動(dòng)代理的氣田監(jiān)控管理系統(tǒng)[J].計(jì)算機(jī)工程,2010,36(5):191-195.
[3]王 超,鄭培元.基于Brew手機(jī)的移動(dòng)監(jiān)測(cè)客戶(hù)端設(shè)計(jì)[J].計(jì)算機(jī)工程與設(shè)計(jì),2010,31(7):1401-1404.
[4]吳文忠,李萬(wàn)磊.基于ARM和ZigBee的智能家居系統(tǒng)[J].計(jì)算機(jī)工程與設(shè)計(jì),2011,32(6):1987-1990.
[5]李 永,黃 晶,馬建剛.基于Web Services的嵌入式智能家居系統(tǒng)的研制[J].微計(jì)算機(jī)應(yīng)用,2011,32(2):36-45.