網絡化遠程自動抄表系統(tǒng)的設計及實現(xiàn)
摘要:為滿足電力行業(yè)改革與發(fā)展的需要,提高用電營業(yè)管理水平,提出一種基于GPRS技術的網絡化遠程自動抄表系統(tǒng)。該系統(tǒng)首先對現(xiàn)場測量獲得所需要的流量,然后結合GPRS通訊技術、J2EE技術和數(shù)據(jù)庫技術,開發(fā)了基于B/S結構的網絡化遠程自動抄袁系統(tǒng)。分別從硬件和軟件兩方面介紹了系統(tǒng)的總體結構和具體的實現(xiàn),系統(tǒng)采用了連接池機制來實現(xiàn)Web服務器與數(shù)據(jù)庫服務器的高效連接,運用xmlhttp技術來實現(xiàn)實時數(shù)據(jù)顯示。該產品已應用在實際抄表系統(tǒng)中,效果良好。
關鍵詞:通用分組無線業(yè)務;遠程抄表;數(shù)據(jù)庫;J2EE技術
0 引言
電力網供電長期以來依靠人力對商業(yè)用電和生活用電數(shù)據(jù)進行抄讀,效率極其低下。抄表數(shù)據(jù)統(tǒng)計主要依靠人力,報表生成周期長,統(tǒng)計結果分析慢,獲得結果不能及時反映系統(tǒng)用電量需求分布,對供應系統(tǒng)的網絡優(yōu)化沒有參考價值,嚴重限制了供電系統(tǒng)的供電效率和質量的提高。
傳統(tǒng)抄表方式依靠人力抄表,電表數(shù)據(jù)抄取周期較長,無法獲得同一時刻所有用戶的電表數(shù)據(jù),使得電表數(shù)據(jù)的獲取具有不精確性和時間段的模糊性,導致電網用電量的時空分布結果可信度不高,從而無法給供電管理部門提供有效的參考數(shù)據(jù)和建議。
自動抄表系統(tǒng)是供電系統(tǒng)監(jiān)管部門用來對工業(yè)和生活用電進行監(jiān)測、管理和控制,以及對用戶用電情況進行統(tǒng)計、分析的重要手段。本文提出了將GPRS通訊技術與J2EE技術相結合的方案應用到自動抄表系統(tǒng)的設計中,構成了網絡化的遠程自動抄表系統(tǒng)。在底層硬件設計中,采用一種基于通用分組無線業(yè)務 GPRS(General Packet Ratio Service)無線上網技術的自動數(shù)據(jù)采集方案。在上層軟件設計中,采用美國Sun公司推出的J2EE(Java 2 Platform,Enterprise Edition)平臺。該產品已應用在實際抄表系統(tǒng)中,效果良好。
1 系統(tǒng)的整體結構及工作原理
1.1 系統(tǒng)的組成
圖1是系統(tǒng)總體設計方案。系統(tǒng)由五部分組成:GPRS數(shù)據(jù)采集模塊、通信服務器、數(shù)據(jù)庫服務器、Web服務器、客戶端。
GPRS數(shù)據(jù)采集模塊:它是系統(tǒng)的硬件主要部分。GPRS模塊上電后擁有一個動態(tài)的IP地址,可以與通信服務器進行Socket通信。它的功能就是將檢測到的電能流量以十六進制數(shù)據(jù)格式發(fā)送給通信服務器。GPRS終端也可以接受來之通信服務器的命令。
通信服務器:它打開服務器的某一端口,監(jiān)聽并接受所有GPRS終端向該端口發(fā)送的UDP數(shù)據(jù)包,然后將數(shù)據(jù)包解析成流量等數(shù)據(jù),寫進數(shù)據(jù)庫中。通訊服務器的另一任務是向GPRS終端發(fā)送命令的任務,即向GRPS終端發(fā)送UDP數(shù)據(jù)包。
數(shù)據(jù)庫服務器:通信服務器從GPRS終端獲得的數(shù)據(jù)都存儲在數(shù)據(jù)庫服務器上,同時數(shù)據(jù)庫服務器還需對數(shù)據(jù)進行備份。
Web服務器:它連接著數(shù)據(jù)庫服務器和客戶端。首先它向客戶端提供Web服務。響應來之客戶端的請求,并根據(jù)客戶端的請求向數(shù)據(jù)庫服務器獲取數(shù)據(jù),然后再將數(shù)據(jù)以html格式返回給客戶端,使得客戶端可以瀏覽它所請求的數(shù)據(jù)。Web服務器還可以直接向通信服務器提出請求,通信服務器根據(jù)Web服務器的請求向GPRS終端發(fā)送命令。
客戶端:它采用瘦客戶端,只需要一個Internet瀏覽器即可。客戶端的任務就是向Web服務器發(fā)出http請求,然后將Web服務器返回的ht-ml格式文件顯示給用戶。
1.2 系統(tǒng)的功能
系統(tǒng)的功能有:查看歷史數(shù)據(jù),讀取實時或整點數(shù)據(jù)。
查看歷史數(shù)據(jù):客戶端根據(jù)自己的需求,要求查看歷史上某一段數(shù)據(jù)的請求,該請求經過Web服務器轉送給數(shù)據(jù)庫服務器,數(shù)據(jù)庫服務器將數(shù)據(jù)經過Web服務器轉接以html格式返回給客戶端。
讀取實時或整點數(shù)據(jù):客戶端要求讀取實時或整點數(shù)據(jù)請求,Web服務器根據(jù)請求來通知通訊服務器,然后由通訊服務器通知GPRS數(shù)據(jù)采集模塊,GPRS數(shù)據(jù)采集模塊通過GPRS網絡向通訊服務器發(fā)送數(shù)據(jù)包。當通訊服務器收到數(shù)據(jù)包時,將數(shù)據(jù)包解析成流量參數(shù)寫到數(shù)據(jù)庫服務器中,然后由數(shù)據(jù)庫服務器將數(shù)據(jù)發(fā)送給Web服務器,然后由Web服務器將數(shù)據(jù)以html格式返回給客戶端。
2 GPRS通信模塊的設計及其功能
第2.5代通訊技術GPRS(Geneal packet Radio Service,通用分組無線業(yè)務)作為第三代通訊技術的前奏,GPRS技術是在現(xiàn)有GSM技術基礎上發(fā)展而來的一種新的分組交換的數(shù)據(jù)承載業(yè)務,由英國 BTCellent公司在1983年提出。GSM技術主要以提供話音業(yè)務為主,而GPRS技術在移動終端與計算機通信網絡的路由器之間提供了分組傳遞業(yè)務,這就是GPRS網絡與GSM網絡的最大區(qū)別。
GPRS把分組交換技術引入現(xiàn)有GSM系統(tǒng),為移動用戶和數(shù)據(jù)網絡之間提供語音通信。GPRS采用分組交換技術,主要提供非語音的數(shù)據(jù)業(yè)務,特別適用于間斷的、突發(fā)性的和頻繁的、少量的數(shù)據(jù)傳輸,給移動用戶提供高速無線IP和x.25服務。GSM網絡采用電路交換的方式,也適用于偶爾的大數(shù)據(jù)量傳輸。
本系統(tǒng)就是利用GPRS的分組無線業(yè)務,通過無線網絡連接到現(xiàn)場的自動抄表裝置上進行數(shù)據(jù)測量。
在系統(tǒng)中,關鍵之一是網絡協(xié)議的選擇。目前有兩種協(xié)議,即TCP協(xié)議和UDP協(xié)議。UDP協(xié)議與TCP協(xié)議相比較,有以下幾個優(yōu)點:適用于小數(shù)據(jù)量的傳輸;使用方便,不需要建立連接,是一種無連接的通訊方式;傳輸數(shù)據(jù)的效率高,實時性強。
考慮到UDP上述特點以及流量測量系統(tǒng)對實時性的高要求,本系統(tǒng)采用了UDP協(xié)議。
3 系統(tǒng)硬件設計
電能流量測量設備有兩種工作方式:一是按事先設定好的時間間隔,周期性地采集用戶數(shù)據(jù),實時地傳送到數(shù)據(jù)庫服務器;二是實時地響應來自于通信服務器的控制命令,按照控制命令進行特定的數(shù)據(jù)采集任務。這就要求作為數(shù)據(jù)傳輸模塊和終端設備控制模塊的GPRS終端能夠實時地解析、處理各種控制命令并向數(shù)據(jù)傳輸服務提供盡可能大的吞吐率。另外考慮到系統(tǒng)的可擴展性,本系統(tǒng)硬件設計時沒有采用傳統(tǒng)的低成本但是高開發(fā)費用且性能、功能受限制的單片機加GPRS通訊模塊的方案,而是使用了以高性能嵌入式CPU芯片為核心的設計方案。GPRS數(shù)據(jù)傳輸終端的硬件組成和連接如圖2所示。CPU采用了專為網絡解決方案設計的 Samsung ARM7 4510B。GPRS模塊采用目前比較流行的西門子MC35系列模塊。
傳輸終端的軟件采用了以嵌入式實時操作系統(tǒng)為平臺、自主知識產權的網絡組件為核心的體系結構。操作系統(tǒng)選用了μclinux。μclinux最大的特點就是沒有MMU,很適合ARM嵌入式微處理器。該μclinux的內核版本是Linux 2.4,它具備完整的嵌入式TCP/IP網絡協(xié)議棧,操作系統(tǒng)所有代碼加起來編譯后的鏡像文件小于1 MB。
該系統(tǒng)以數(shù)字信號處理器DSP為核心,采用交流取樣技術,可以連續(xù)地檢測和統(tǒng)計電量的有關參數(shù)。
抄表數(shù)據(jù)終端起著管理和協(xié)調GPRS網絡和儀表數(shù)據(jù)通信的作用。由于無線傳輸是基于GPRS的,所以抄表數(shù)據(jù)傳輸終端也可以稱為GPRS終端,要完成硬件和軟件的設計。抄表終端的硬件設計一般都會選用世界知名廠商生產的GPRS模塊作為抄表終端與GPRS網絡連接的中間件,實現(xiàn)同基站空中接口的連接,選用高速微處理器連接儀表和GPRS模塊,處理兩者間的數(shù)據(jù)通信問題。
4 系統(tǒng)軟件設計
4.1 B/S結構
目前軟件結構設計模式主要有兩大類:一是傳統(tǒng)的Client/Server(客戶端/服務器)模式,它采用Intranet技術,適用于局域網環(huán)境可連接用戶數(shù)有限,當用戶數(shù)量增多時,性能會明顯下降,客戶端都要安裝。一是正在不斷發(fā)展的Browser/Server(瀏覽器/服務器)模式,
它采用Internet/Intranet技術,適用于廣域網環(huán)境,支持更多的客戶,可根據(jù)訪問量動態(tài)配置Web服務器、應用服務器,以保證系統(tǒng)性能??蛻舳酥恍枰獦藴实腎nternet瀏覽器。
由于運行該系統(tǒng)的物理平臺的復雜性,例如不同設備的操作系統(tǒng)、數(shù)據(jù)庫服務器等都具有相異性,各種專業(yè)網絡都有各自不同的網絡架構和實現(xiàn)方式,因此必須選擇能夠較好支持跨平臺開發(fā)的運行環(huán)境進行設計。此外,考慮到使用該系統(tǒng)的人員具有廣泛性,依據(jù)不同的權限隨時可以查看該系統(tǒng)的詳細情況,若仍完全采用傳統(tǒng)的固定C/S模式,就必須嚴格對每個客戶端進行參數(shù)設置,這顯然是不可取的。
系統(tǒng)的軟件設計采用以Web技術為基礎,以瀏覽器/服務器即B/S為體系結構的方案。B/S模式與傳統(tǒng)的C/S模式相比,優(yōu)點在于:主要工作是服務器端程序的開發(fā)。服務器主要負責開發(fā)、維護網上的內容與資源,負責信息的收集、存儲、發(fā)布,不存在客戶端程序的開發(fā)和維護。客戶端直接利用現(xiàn)有的局域網或 Internet連接,不需要特殊設置和安裝,使用標準的Internet瀏覽器,直接訪問專用Web服務器頁面,就可觀看監(jiān)測和分析電能質量的實時數(shù)據(jù),并能查詢所需歷史數(shù)據(jù)。
4.2 系統(tǒng)運行環(huán)境與工具的選擇
考慮到系統(tǒng)的移植性和跨平臺性,本系統(tǒng)選擇了Sun公司設計開發(fā)的J2EE平臺,使用JSP(Java Server Pages)作為B/S模式的開發(fā)工具。J2EE(Java 2 Platform Enterprise Edition)是一個適用于企業(yè)級計算的支持多層、分布式應用的全新概念的Java平臺,它為搭建具有可伸縮性,靈活性、易維護性的企業(yè)信息系統(tǒng)提供了良好的機制,與傳統(tǒng)的互聯(lián)網應用程序模型相比有著不可比擬的優(yōu)勢。J2EE主要面向網絡應用,它定義了一系列規(guī)范的標準,使得Java程序員能夠共同的遵照這個標準,開發(fā)大型面向網絡的項目。它同時提供了龐大的開發(fā)庫,是面向電子商務開發(fā)的企業(yè)級應用平臺。Java具有“編寫一次,到處運行”的特性,能夠通過JDBC方便連接各類數(shù)據(jù)庫,調用各類API,同時在Internet應用中保護數(shù)據(jù)的安全模式等。總結該系統(tǒng)的平臺解決方案如下:
計算模式:三層B/S模式;網絡操作系統(tǒng):Windows2000 Server;數(shù)據(jù)庫服務器:Oracle 8i;Web服務器:Apache Tomcat 5.O;數(shù)據(jù)庫驅動接口:JDBC驅動;主要的開發(fā)環(huán)境及工具:J2EE,Java,JSP,Javascript。
4.3 連接池(Connection Pool)機制
程序的效率問題在JSP編程過程中是很重要的,即要考慮如何使有限的計算機系統(tǒng)資源為更多的客戶提供更好的服務,保證客戶的響應速度和服務質量。如果有很多人訪問該網站,每一次Web請求都需要與數(shù)據(jù)庫建立一個連接,那么數(shù)據(jù)庫就有可能要同時處理許多建立連接的請求,這對于數(shù)據(jù)庫服務器和 Web Server來說是一個很嚴重的負擔,甚至會導致資源耗盡而死機。
本系統(tǒng)使用連接池機制來解決這個問題。連接池最基本的思想就是預先建立一些連接放置于內存對象中以備使用。當程序中需要建立與數(shù)據(jù)庫的連接時,只需到連接池中讀取即可,不需新建連接。當程序不需該連接時,只要將該連接放回到連接池中,以便其他程序或用戶使用。同時連接池機制對于位于池中的連接具有管理的功能,增加了與數(shù)據(jù)庫連接的強壯性。
4.4 數(shù)據(jù)庫的遠程管理
數(shù)據(jù)庫內容包括:現(xiàn)場流量參數(shù)的實時數(shù)據(jù)、歷史數(shù)據(jù)、不合格數(shù)據(jù)、人員的管理、權限的管理等。
數(shù)據(jù)庫遠程管理按照如下流程來實現(xiàn):
(1)客戶端發(fā)出數(shù)據(jù)的查詢或修改指令;
(2)服務端接收指令,向客戶端返回結果;
(3)客戶端接收結果,顯示查詢數(shù)據(jù)。
當客戶端請求查看實時數(shù)據(jù)的時候,客戶端向服務器發(fā)出請求,服務器每隔2 s就將實時數(shù)據(jù)發(fā)送給客戶端,客戶端接收并顯示該數(shù)據(jù)。該過程就是一個典型的數(shù)據(jù)庫遠程管理過程。傳統(tǒng)的技術是頁面不斷刷新,來獲取新的數(shù)據(jù),以便讓用戶看到不斷變化的實時數(shù)據(jù)。但該方法的缺點一是當數(shù)據(jù)量較大時,占用服務器資源的消耗大;二是用戶能明顯感到頁面的不斷刷新,對用戶視覺和聽覺都有很大影響。本系統(tǒng)采用了Microsoft開發(fā)的xmlhttp技術,它是Microsoft xml解析器(MSXML)中的一個客戶/服務通訊管道協(xié)議。運用xmlhttp可以簡單方便地實現(xiàn)數(shù)據(jù)庫遠程管理。由于其傳送的是XML格式的數(shù)據(jù),大大減輕了對服務器的消耗,而且采用xmlhttp協(xié)議,可以實現(xiàn)頁面無刷新更新數(shù)據(jù),使界面更加友好。
5 結語
本系統(tǒng)在硬件上采用了GPRS通信模塊,軟件上采用B/S模式,開發(fā)工具采用了Sun公司提供的J2EE平臺,完成了系統(tǒng)的設計。它可以對現(xiàn)場電能流量進行遠程、實時、直觀地監(jiān)測和分析。較之其他系統(tǒng)來說,具有遠程監(jiān)控、客戶端免維護、服務器端易維護、系統(tǒng)安全可靠、操作簡單方便等優(yōu)點。該產品已應用在實際抄表系統(tǒng)中,效果良好。