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