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