周 剛,王小玲,梁興建
(四川理工學院計算機科學院,四川 自貢 643000)
隨著3G無線網絡時代的到來以及手機操作系統的快速發展和移動設備硬件性能的提升,移動設備已進入智能化階段,在移動設備上得以實現更多的應用[1-2]。為提高工作效率,做到隨時隨地監測氣站信息,設計了氣田手持移動監測系統。該系統只要在無線網絡覆蓋區域,可隨時隨地對氣站進行監測,滿足日益凸顯的移動辦公服務需求。
目前氣田計算機網絡已經延伸到了生產一線,使得氣田的生產運行管理可以在作業區(現場井站)、氣礦(營銷部)到分公司(管理中心)這樣一個分布式體系結構中實施遠程監控對生產一線數據進行集中管理。然而管理部門的生產、銷售、安全數據來源呈現全分布性和海量性,隨著產能任務的加大,氣田數據急劇增多,如何對這些數據進行有效的管理,使其更好的服務于企業的生產決策,是氣田監控系統中一個非常重要的環節。
氣田遠程監控系統一方面接收生產一線的實時數據,進行實時監控;一方面對實時數據進行存儲。因此,根據數據的動態特性,可以將其分為瞬態數據和歷史數據。瞬態數據只反映當時時刻設備或管線的運行情況,孤立時刻的參量對我們的應用分析沒有實際意義,這樣歷史數據的管理就顯得十分重要。傳統存儲歷史數據的方法為實時數據的簡單堆積,這樣既浪費空間也浪費時間。鑒于數據的時間局部性原理,某一時間點附近的數據量非常接近,因此在歷史數據的分析方面提出基于數據變化率的自適應數據壓縮存儲方法。
在滿足日常業務方面,由于需要記錄氣井、管線的整點運行情況,提出了實時數據的整點分離方法再結合數據倉庫技術,數據按小時、日、月、年等低、中、高粒度進行處理為生產、銷售、安全等部分業務提供支持[2]。
目前氣田生產管理中基于移動設備(如智能手機)的應用還沒有開展,這主要受制于前期移動網絡的帶寬和手機性能等多方面的限制,要使用移動設備進行實時監測就需要構建一個WAP網站。構建這樣的WAP應用要充分的考慮到以下三方面:
(1)由于移動設備的性能遠不如PC機,對于復雜的數據處理會影響到人機交互效果。因此要充分考慮系統的可用性。
(2)氣田的需求會隨著生產的需求發生變動,系統應該有足夠的靈活性和可擴展性。
(3)該系統是一個實時監測系統,在不做特殊處理時,客戶端對服務器的每一次請求(即讀取每一次采樣數據)都將導致整個頁面的刷新。對于實時性要求高的氣田工業控制來說,這樣的頁面刷新是不可忍受也是不現實的。因此解決頁面頻繁刷新問題也是是保證系統可用性的關鍵。
系統網絡結構圖如圖1所示。

圖1 氣田移動監測系統網絡結構圖
由溫度、壓力等傳感器、變送器、流量計、工業控制機和上位計算機等多種智能設備構成的現場工控網絡負責生產數據、壓力、差壓和溫度等數據實時采集。而后由帶有GPRS模塊的ZigBee主節點通過無線基站匯集到internet上。這樣就實現了遠程數據和數據服務器的交換。移動終端通過WAP網關接入internet,查看和控制遠程的無線網絡節點數據和工作狀態。ZigBee網絡遵循IEEE 802.15.4技術標準和ZigBee網絡協議,有著近距離、低復雜度、低功耗、低數據速率和低成本等諸多優點,因此非常適合在本系統中完成信息的傳輸與控制[3-4]。同時GPRS數據終端與Internet數據服務器通過無線基站進行連接,實現一對一的數據交互,可以避免遠程有線網絡布線的高成本問題。
歷史數據根據數據變化率來進行存儲,該方式可以讓用戶根據各個參量不同的量綱指定一個變化的精度,即預先設定變化率閥值,當數據發生變化時,如果系統發現當前采樣數據和最近保存數據之差和數據量程之比在用戶指定的變化精度之內,記錄當前采樣點數據作為臨時數據,但不作為最終保存數據,當下一個采樣點數據變化率仍在變化率閥值內,就用這個采樣點覆蓋上一個采樣臨時數據,仍然不作為歷史數據保存,只有采樣點數據超過了用戶指定的變化率之后,系統才認為數據真的發生了變化,就把該參量臨時數據和當前采樣點數據保存為歷史數據。這種保存方式反映了數據的變化,同時記錄了數據變化的拐點位置,歷史數據失真小,保存的歷史數據的誤差在用戶的控制之內,而且還有效的壓縮了數據,同時在采樣周期小的情況下,能節省存儲空間。由于數據實時上傳,實時壓縮,能夠根據上傳數值,改變壓縮策略,所以能夠自動適應數據的變化。因此基于數據變化率的自適應數據壓縮技術在歷史數據管理中具有實際的意義。原理如圖2所示。

圖2 數據變化拐點記錄示意圖
圖2中記錄點1、記錄點3、記錄點5,均超過了數據變化率,故記錄這些點,拐點記錄點2、拐點記錄點4記錄變化的位置也屬于重要點也需記錄,當需要還原沒有記錄點數據時,可通過二次插值進行恢復。如果變化率定義為1%,意味著每個采樣數據都被記錄,此時數據的存儲是無損的,通過以上的壓縮方式,使得歷史數據的記錄更加準確,同時極大地提高經濟存儲的性能。
由于采集、傳輸及采樣頻率等影響,現場設備在整點時刻極有可能沒有采樣到數據,可能在整點附近采樣到數據,而這附近的數據應該與整點采樣數據非常接近,所以實現實時數據整點分離有三種方法:一是取得要統計的整點的前一個最大時刻的數據,作為整點數據的近似值;二是取得要統計的整點的當前整點最小時刻的數據,作為整點數據的近似值;三是取得統計整點的前一個最大時刻的數據和取得統計整點的當前整點最小時刻的數據,把這兩者數據求加權平均。前兩種方法統計到的整點數據,一般誤差較大,而第三種方法綜合了前兩種方法,求得的整點數據更加接近真實數據,是一種比較好的分離方法。這樣在求得整點數據后,就可以在此基礎上構建日、月、年等粒度的數據,滿足日常報表、數據分析的需要。
考慮到系統的實用性、靈活性和可擴展性。系統功能設計應盡量簡化和易操作。整個氣田手持移動監測系統功能模塊分為系統維護模塊、實時監測模塊、數據查詢管理模塊。
系統維護模塊主要進行用戶的管理、數據備份和恢復及采樣周期設置;系統對用戶劃分了權限,對不同的管理人員進行權限設置,高級別權限用戶才能對數據進行管理操作,從而保證數據的安全性。采樣周期設置功能是為了滿足系統的靈活性和數據完整性,由于數據采樣頻率會根據生產需要進行調整,因此在客戶端應保持和GPRS發射終端的發射頻率保持一致,來維護數據的完整性。
實時監測模塊可實時的查看某一氣站的生產銷售數據,如溫度、壓力、流量等,并以模擬的現場管網直觀呈現出來,并輔助直觀的實時曲線功能,包括實時曲線和歷史曲線,還可以進行報警參數的設置和報警提示。在實際應用中,由于部分氣站管網較復雜,監測點較多,考慮到移動設備的可視范圍,應精簡監測點,保留常用的監測點,同時歷史曲線的時間間隔選擇范圍不易過大,避免產生較大的延時。
查詢管理模塊主要完成歷史數據和實時數據的查詢以及報表管理。由于移動終端屏幕大小有限,查詢設計采用下拉列表選擇查詢的方式進行,以避免因屏幕過小,顯示不出完整的查詢結果。報表管理主要進行氣井或輸氣站的日報、月報統計,在報表設計的時候也根據屏顯效果進行一定的精簡,保留常用的統計。
本系統集成了WAP2.0,采用XHTML Mobile Profile(XHTML MP)作為標記語言。開發工具采用VS2008,數據庫采用SQL SERVER2005。XHTML MP是XHTML的子集,是HTML更嚴格的版本。相對于早期的WAP網站開發所采用的WML以及WML SCRIPT而言,XHTMLMP的目的是讓開發移動信息瀏覽的技術和開發WWW信息瀏覽的技術更相近,即把移動因特網瀏覽和萬維網瀏覽的技術結合起來,因此XHTMLMP語言更接近現有的Web開發語言,使得無線世界和有線世界的標記語言最終匯聚到了一起,仍然可以用現有的Web的開發工具來開發WAP,且可在原型化和開發過程中用任何Web瀏覽器查看[5]。
氣田生產管理數據包括井站、輸氣站、銷售站等數據,數據種類繁多,在實際生產管理中不是僅僅對這些數據進行簡單的查詢,涉及到大量的數據處理工作。因此本系統采用基于XMLWeb Services的分布式計算模型,在服務提供方面重點包裝安全預警、生產實時服務、歷史管理服務、整點數據生成、遠程控制和事故預測等服務。在.NET的環境下,通過ASP.NET把服務的各項應用細節封裝成Web Services部件后發布到UDDI注冊中心,并通過接口調用相應的應用。其中接口描述了一組可訪問的操作,如報警生成、實時數據生成、整點參量獲取,接口可使用WSDL(Web Services Description Language)進行描述,Web Services提供的這種“黑匣子”函數可以被多次引用而不用關心此服務是怎樣實現。
一般氣田下屬井站或輸氣站較多,因此在此系統中將會使用大量的監測背景圖片。很多WAP瀏覽器沒有水平滾動條,如果監測背景圖片超過設備的屏幕尺寸,就只能顯示局部圖片。同時圖片過大,加載時間也會過長,影響用戶體驗。因此對背景圖片應做相應的裁減,并采用GIF格式減少傳輸量。同時為節省屏幕空間,優化界面布局,站場選擇采用下拉列表。對于較大型的站場,監測管線可能多至七、八條,監測點數量也較多,受終端屏幕限制,不能在一個屏幕中顯示所有監測管線和監測點,對于該問題,對監測管線進行分離,采用分頁的辦法,一個屏幕中顯示兩條管線,可達到較好的視覺效果(圖3)。

圖3 監測效果圖
在實現數據的實時監測中,其最大的特點在于它的實時性。也就是說服務器端腳本只能在服務器端運行,客戶端只是接收服務器端運行后生成的XHTML MP格式的文本,所以客戶端對服務器的任何請求都將導致整個頁面的刷新。因此構建這樣一個WEB應用最大的問題在于如何解決頁面的頻繁刷新。在實際應用中我們采用AJAX技術來解決WEB頁面實時刷新的瓶頸問題。具體的實現采用JavaScript,客戶端實時發出請求,生成XmlHttp對象,該對象調用后臺腳本進行數據庫的連接和數據的讀取。由于一個氣場有多條管線,每條管線有多種監測數據,為了區分具體某一管線的具體監測數據,在數據的讀取過程中需要進行編碼,同時在客戶端也需要一個解碼的過程。
該系統實時性要求高,延時問題是系統能否真實反映監測數據同步的關鍵,同時也是影響用戶體驗的重要因素。在數據庫服務器中,現行實時數據的更新頻率是10秒。采用中國電信CDMA 1X移動網絡作為系統測試網絡,現有的CDMA 1X網絡理論速率153.6 Kbps,實際測試速率為70 Kbps~90 Kbps之間??刂品掌靼l送碼流的碼率為60 Kbps,基本接近CDMA 1X網絡的實際帶寬上限。客戶端采用的終端是三星和酷派2個品牌的5款手機。表1顯示了各個手機的型號和硬件參數以及客戶端在相應手機上的運行時延。
從表1看出,在數據更新頻率為10秒的時候,五款手機的延時均為0.5秒左右,和數據庫服務器基本同步,能夠較好的反映數據實時更新。也說明了3G無線帶寬能夠很好的滿足現行需要。

表1 各手機參數與延時對比
基于WAP的氣田手持移動監測系統較好的滿足了氣田管理移動辦公的需要,真正做到了氣田全方位立體化監測,進一步豐富和深化了氣田的數字化建設,只要在手機信號覆蓋區域,使用者可隨時隨地了解站場生產動態信息,合理組織生產,提高管理水平和生產效率。具有較好的應用前景和推廣價值。
[1]周 剛,唐子蛟.基于網格的氣田監控決策系統[J].四川理工學院學報:自然科學版,2010,23(4):417-419.
[2]周 剛,王小玲,魏正曦.基于移動代理的氣田監控管理系統[J].計算機工程,2010,36(5):191-195.
[3]王 超,鄭培元.基于Brew手機的移動監測客戶端設計[J].計算機工程與設計,2010,31(7):1401-1404.
[4]吳文忠,李萬磊.基于ARM和ZigBee的智能家居系統[J].計算機工程與設計,2011,32(6):1987-1990.
[5]李 永,黃 晶,馬建剛.基于Web Services的嵌入式智能家居系統的研制[J].微計算機應用,2011,32(2):36-45.