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