
徐志成 (1980-)
男,江蘇東臺人,碩士研究生,從事智能優化和魯棒控制等研究。
摘要:針對灌區用水計量模糊問題,開發了一種新型明渠流量儀。該系統先對現場測量獲得所需要的流量,然后結合GPRS通訊技術、J2EE技術和數據庫技術,開發了基于B/S結構的明渠流量儀測量系統。論文分別從硬件和軟件兩方面介紹了系統的總體結構和具體的實現。該產品已應用在節水灌溉系統中,效果良好。
關鍵詞:明渠;流量儀;GPRS;數據庫
Abstract: Aiming at the problem of inaccurate water measurement in irrigation, we design a
new open channel flowmeter.Flow is first measured locally. Then combining with the GPRS
communication technology, the J2EE technology, and database management technology, we
develop an open channel flowmeter system based on Browser/Server structure. The paper
introduces the structure of the measuring system and the method to realize this system. This
product has been used in the water-saving irrigation system and worked well.
Key words: open channel; flowmeter; general packet radio service; database
1 引言
在農田水利灌溉中,引用水流多是處于明渠的形式或不滿管流動狀態;對其流量的測量,隨著人們對水資源合理利用意識的提高,也越來越受到重視。在國內,明渠流量計也開始受到人們的關注,出現了各種形式的明渠流量計[1]。電子技術、計算機技術和通訊技術的發展,使得明渠流量儀的研究開始向實時化、精確化、網絡化方向發展成為現實。
本文提出了將GPRS通訊技術與J2EE技術相結合的方案應用到明渠流量儀的設計系統中,構成了網絡化的明渠流量儀系統。在底層硬件設計中,采用一種基于通用分組無線業務GPRS(General Packet Ratio Service)[2]無線上網技術的自動數據采集方案。在上層軟件設計中,采用美國Sun公司推出的J2EE(Java 2 Platform,Enterprise Edition)平臺[3]。將該系統應用在節水灌溉系統中,效果良好。
2 系統的整體結構及工作原理
2.1 系統的組成
系統總體設計方案如圖1所示。
系統由五部分組成:GPRS數據采集模塊、通信服務器、數據庫服務器、web服務器、客戶端。
GPRS數據采集模塊:它是系統的硬件主要部分。GPRS模塊上電后擁有一個動態的IP地址,可以與通信服務器進行Socket通信[4]。它的功能就是將檢測到的流量以十六進制數據格式發送給通信服務器。GPRS終端也可以接受來之通信服務器的命令。
通信服務器:它打開服務器的某一端口,監聽并接受所有GPRS終端向該端口發送的UDP數據包[5],然后將數據包解析成流量等數據,寫進數據庫中。通訊服務器的另一任務是向GPRS終端發送命令的任務,即向GRPS終端發送UDP數據包。
數據庫服務器:通信服務器從GPRS終端獲得的數據都存儲在數據庫服務器上,同時數據庫服務器還需對數據進行備份。
web服務器:它連接著數據庫服務器和客戶端。首先它向客戶端提供web服務。響應來之客戶端的請求,并根據客戶端的請求向數據庫服務器獲取數據,然后再將數據以html格式返回給客戶端,使得客戶端可以瀏覽它所請求的數據。web服務器還可以直接向通信服務器提出請求,通信服務器根據web服務器的請求向GPRS終端發送命令。
客戶端:它采用瘦客戶端,只需要一個Internet瀏覽器即可??蛻舳说娜蝿站褪窍騱eb服務器發出http請求,然后將web服務器返回的html格式文件顯示給用戶。
2.2 系統的功能
系統的功能有:查看歷史數據,讀取實時或整點數據。
查看歷史數據:客戶端根據自己的需求,要求查看歷史上某一段數據的請求,該請求經過web服務器轉送給數據庫服務器,數據庫服務器將數據經過web服務器轉接以html格式返回給客戶端。
讀取實時或整點數據:客戶端要求讀取實時或整點數據請求,web服務器根據請求來通知通訊服務器,然后由通訊服務器通知GPRS數據采集模塊,GPRS數據采集模塊通過GPRS網絡向通訊服務器發送數據包。當通訊服務器收到數據包時,將數據包解析成流量參數寫到數據庫服務器中,然后由數據庫服務器將數據發送給web服務器,然后由web服務器將數據以html格式返回給客戶端。
3 GPRS通信模塊的設計及其功能
第2.5代通訊技術GPRS(Geneal packet Radio Service) [6]是通用分組無線業務的簡稱。作為第三代通訊技術的前奏,GPRS技術是在現有GSM技術基礎上發展而來的一種新的分組交換的數據承載業務,是由英國BTCellent公司在1983年提出的一種基于GSM的移動分組數據業務。GSM技術主要以提供話音業務為主,而GPRS技術在移動終端與計算機通信網絡的路由器之間提供了分組傳遞業務,這就是GPRS網絡與GSM網絡的最大區別[7]。
GPRS把分組交換技術引入現有GSM系統,為移動用戶和數據網絡之間提供一主要用于語音通信。GPRS采用分組交換技術,主要提供非語音的數據業務,特別適用于間斷的、突發性的和頻繁的、少量的數據傳輸,種連接,給移動用戶提供高速無線IP和X.25服務。GSM網絡采用電路交換的方式,也適用于偶爾的大數據量傳輸。
本系統就是利用GPRS的分組無線業務,通過無線網絡連接到高速的IP網絡傳輸現場的明渠流量計裝置的測量數據的。
在系統中,關鍵之一是網絡協議的選擇。目前有兩種協議,即TCP協議和UDP協議[5]。UDP協議與TCP協議相比較,有以下幾個優點:適用于小數據量的傳輸;使用方便,不需要建立連接,是一種無連接的通訊方式;傳輸數據的效率高,實時性強。
考慮到UDP上述特點以及流量測量系統對實時性的高要求,本系統采用了UDP協議。
4 系統硬件設計
系統有兩種工作方式:一是周期性地將現場數據實時地傳送到數據庫服務器;二是實時地按照控制命令進行數據采集。這就要求作為數據傳輸模塊和終端設備控制模塊的GPRS終端能夠實時地解析、處理各種控制命令并向數據傳輸服務提供盡可能大的吞吐率。系統的硬件電路組成如圖2所示。
主機采用了PHILIPS公司生產的單片機P89C51RD2芯片作為CPU,對外部的流量信號以及實時時鐘進行采集和處理,需要保存的數據經過處理后存儲于內部大容量存儲器中,實現GPRS接口、數據通信。圖中復位電路是為了保證系統程序在跑飛或卡死的時候系統能夠復位,是系統可靠性的保證之一。
系統具備GPRS接口,與GPRS發射端連接,把需要發射的數據傳給GPRS發射端,同時系統具有RS-232接口。上位機可以通過GPRS通訊實現遠程通訊,同時也可以通過RS-232接口,以特定的格式將存儲器內部的數據通過串口線傳入PC機。
5 系統軟件設計
5.1 B/S結構
系統的軟件設計采用以Web技術為基礎,以瀏覽器/服務器即B/S (Browser/Server)為體系結構的方案[8]。B/S(Browser/Server)結構隨著Internet技術的興起,對傳統的C/S結構的一種變化或者改進的結構。在這種結構下,用戶工作界面是通過WWW瀏覽器來實現,極少部分事務邏輯在前端(Browser)實現,但是主要事務邏輯在服務器端(Server)實現,形成所謂三層3-tier結構。這樣就大大簡化了客戶端電腦載荷,減輕了系統維護與升級的成本和工作量,降低了用戶的總體成本。在B/S模式下,服務器主要負責開發、維護網上的內容與資源,負責信息的收集、存儲、發布,不存在客戶端程序的開發和維護。客戶端直接利用現有的Internet連接,不需要特殊設置和安裝,使用標準的Internet瀏覽器,直接訪問專用Web服務器頁面,就可觀看監測和分析現場流量的實時數據,并能查詢所需歷史數據。
5.2 系統運行環境與工具的選擇
考慮到系統的移植性和跨平臺性,本系統選擇了SUN公司設計開發的J2EE平臺,使用JSP(Java Server Pages)作為B/S模式的開發工具。J2EE(Java 2 Platform Enterprise Edition)是一個適用于企業級計算的支持多層、分布式應用的全新概念的Java平臺,它為搭建具有可伸縮性,靈活性、易維護性的企業信息系統提供了良好的機制,與傳統的互聯網應用程序模型相比有著不可比擬的優勢。J2EE主要面向網絡應用。它定義了一系列規范的標準,使得Java程序員能夠共同的遵照這個標準,開發大型面向網絡的項目。它同時提供了龐大的開發庫,是面向電子商務開發的企業級應用平臺。Java具有“編寫一次,到處運行”的特性,能夠通過JDBC方便連接各類數據庫,調用各類API,同時在Internet應用中保護數據的安全模式等等??偨Y該系統的平臺解決方案如下:
計算模式:三層B/S模式;
網絡操作系統:Windows 2000 Server;
數據庫服務器:Oracle 8i;
Web服務器:Apache Tomcat 5.0;
數據庫驅動接口:JDBC驅動[9];
主要的開發環境及工具:J2EE,Java,JSP,Javascript。
5.3 數據庫的遠程管理
數據庫內容包括:現場流量參數的實時數據、歷史數據、不合格數據、人員的管理,權限的管理等。
數據庫遠程管理按照如下流程來實現:
(1) 客戶端發出數據的查詢或修改指令;
(2) 服務端接收指令,向客戶端返回結果;
(3) 客戶端接收結果,顯示查詢數據。
系統中,當客戶端請求查看實時數據的時候,客戶端向服務器發出請求,服務器每隔2秒就將實時數據發送給客戶端,客戶端接收并顯示該數據。該過程就是一個典型的數據庫遠程管理過程。傳統的技術是頁面不斷刷新,來獲取新的數據,以便讓用戶看到不斷變化的實時數據。但該方法的缺點一是當數據量較大時,占用服務器資源的消耗大;二是用戶能明顯感到頁面的不斷刷新,對用戶視覺和聽覺都有很大影響。本系統采用了Microsoft開發的xmlhttp技術,它是Microsoft xml解析器(MSXML)中的一個客戶/服務通訊管道協議[10]。運用xmlhttp可以簡單方便地實現數據庫遠程管理。由于其傳送的是XML格式的數據,大大減輕了對服務器的消耗,而且采用xmlhttp協議,可以實現頁面無刷新更新數據,使界面更加友好
6 總結
本系統在硬件上采用了GPRS通信模塊,軟件上采用B/S模式,開發工具采用了Sun公司提供的的J2EE平臺,完成了系統了設計。它可以對現場流量進行遠程、實時、直觀地監測和分析。較之其它系統來說,具有遠程監控、客戶端免維護、服務器端易維護、系統安全可靠、操作簡單方便等優點。目前該系統已應用在節水灌溉系統中,效果良好。
參考文獻
[1] 李剛. 浮力式明渠流量儀的研究[J]. 儀器儀表學報,2002,23(3):13-16.
[2] 張小強,楊放春. 一種基于GPRS技術的無線監控系統[J]. 中國數據通信,2004,6(11):92- 95.
[3] 楊爭林,宋燕敏,沈利華. 基于J2EE的電力市場技術支持系統研究[J]. 電力系統自動化, 2004,28(8):365-39.
[4] 何進,謝松巍. 基于Socket的TCP/IP網絡通訊模式研究[J]. 計算機應用研究,2001,18(8): 134-135.
[5] 蘆東昕,張華強,王陳. 基于UDP的可靠數據傳遞技術研究[J]. 計算機工程,2003,29(22): 62-63.
[6] 呂捷. GPRS技術[M]. 北京:北京郵電大學出版社,2001.
[7] 丁雄. 移動通信技術[M]. 北京:電子工業出版社,2004.
[8] 方木云,駱國剛. 基于B/S的三層結構的ERP庫存軟件系統開發[J]. 微機發展,2004,14(4): 31-34,37.
[9] 王秀義. 基于JDBC的數據庫連接池及實現[J]. 計算機系統應用,2005(4):36-39.
[10] 陳培久,陳序廣. 用xml與xmlhttp組件實現網頁信息的傳遞[J]. 微機發展,2003,13(4):4-6, 10.