網(wǎng)絡(luò)化遠(yuǎn)程自動(dòng)抄表系統(tǒng)的設(shè)計(jì)及實(shí)現(xiàn)
由于運(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è)客戶(hù)端進(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ā)布,不存在客戶(hù)端程序的開(kāi)發(fā)和維護(hù)??蛻?hù)端直接利用現(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)資源為更多的客戶(hù)提供更好的服務(wù),保證客戶(hù)的響應(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í),只要將該連接放回到連接池中,以便其他程序或用戶(hù)使用。同時(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)客戶(hù)端發(fā)出數(shù)據(jù)的查詢(xún)或修改指令;
(2)服務(wù)端接收指令,向客戶(hù)端返回結(jié)果;
(3)客戶(hù)端接收結(jié)果,顯示查詢(xún)數(shù)據(jù)。
當(dāng)客戶(hù)端請(qǐng)求查看實(shí)時(shí)數(shù)據(jù)的時(shí)候,客戶(hù)端向服務(wù)器發(fā)出請(qǐng)求,服務(wù)器每隔2 s就將實(shí)時(shí)數(shù)據(jù)發(fā)送給客戶(hù)端,客戶(hù)端接收并顯示該數(shù)據(jù)。該過(guò)程就是一個(gè)典型的數(shù)據(jù)庫(kù)遠(yuǎn)程管理過(guò)程。傳統(tǒng)的技術(shù)是頁(yè)面不斷刷新,來(lái)獲取新的數(shù)據(jù),以便讓用戶(hù)看到不斷變化的實(shí)時(shí)數(shù)據(jù)。但該方法的缺點(diǎn)一是當(dāng)數(shù)據(jù)量較大時(shí),占用服務(wù)器資源的消耗大;二是用戶(hù)能明顯感到頁(yè)面的不斷刷新,對(duì)用戶(hù)視覺(jué)和聽(tīng)覺(jué)都有很大影響。本系統(tǒng)采用了Microsoft開(kāi)發(fā)的xmlhttp技術(shù),它是Microsoft xml解析器(MSXML)中的一個(gè)客戶(hù)/服務(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ù)端免維護(hù)、服務(wù)器端易維護(hù)、系統(tǒng)安全可靠、操作簡(jiǎn)單方便等優(yōu)點(diǎn)。該產(chǎn)品已應(yīng)用在實(shí)際抄表系統(tǒng)中,效果良好。
本文引用地址:http://www.biyoush.com/article/156891.htm linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論